Storage medium storing object control program and information processing apparatus

ABSTRACT

An information processing apparatus includes, for example, a touch panel placed over a display screen. For example, when a start of a touch input is detected, the first-touch-input coordinates are determined as object generation coordinates and an object is displayed in the coordinates. When an input direction based on coordinates continuously detected after the object generation coordinates until, for example, a touch-off is determined to be a predetermined direction, the object is moved in a specific direction. Alternatively, an input direction is determined based on coordinates continuously detected after the object generation coordinates until a touch-off, and then, based on the input direction, the direction opposite to the input direction, for example, is determined to be a moving direction and the object is moved in the moving direction.

CROSS REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 11/493,037, filedJul. 26, 2006, which claims priority to Japanese Patent Application No.2005-216278, filed Jul. 26, 2005, the disclosures of both of which areincorporated herein by reference.

TECHNICAL FIELD

The exemplary embodiments disclosed herein relate to a storage mediumstoring an object control program and an information processingapparatus. In particular, the exemplary embodiments disclosed hereinrelate to a storage medium storing an object control program which, forexample, causes an object to be generated and moved according to aninput, and an information processing apparatus.

BACKGROUND AND SUMMARY

An example of a technique of controlling an object displayed on a touchpanel is disclosed in Document 1 (Japanese Patent No. 2827612), forexample. Specifically, there is described a technique that an objectdisplayed in advance on a touch panel is touched by a finger and therebymoves in accordance with the position of the finger (drag), or theobject is flipped by the finger and thereby moves inertially in adirection of the movement of the finger.

Further, Document 2 (page 31 of the manual for a game “Super Mario 64DS”™, for a game Nintendo DS™, released in December 2004) describes amini-game in which a slingshot bullet displayed at a predeterminedposition on a touch panel is moved by dragging to sling the bullet.

In Document 1 and Document 2, after a player or user touches an objectbeing already present at a fixed position, they need to make sure of adirection they want the object to move and perform a drag operation inthat direction or in the direction opposite thereto. Thus, each time theplayer or user tries to operate the object, they need to check theposition of the object and thus operation is inconvenient. Furthermore,the operation of continuously slinging slingshot bullets is hard andthus a feeling of exhilaration is difficult to obtain and operability isnot favorable.

A feature of certain exemplary embodiments is therefore to provide anovel storage medium storing a object control program and a novelinformation processing apparatus.

Another feature of a certain exemplary embodiment is to provide astorage medium having stored therein an object control program and aninformation processing apparatus, which are capable of easily generatingan object in an arbitrary position and moving the object.

Still another feature of a certain exemplary embodiment is to provide astorage medium having stored therein an object control program and aninformation processing apparatus, which are capable of generating andmoving an object by a simple, intuitive operation.

Yet another feature of a certain exemplary embodiment is to provide astorage medium having stored therein an object control program and aninformation processing apparatus, which are capable of easily andcontinuously generating a plurality of objects and moving the objects.

A storage medium storing an object control program of a first exemplaryembodiment is a storage medium having stored therein an object controlprogram of an information processing apparatus that displays on adisplay an object to be generated and moved according to an input froman input. The object control program stored in the storage medium causesa processor of the information processing apparatus to perform adetection, a first determination, a generation coordinate determination,object generation, and object control. In the detection, coordinatesinputted from the input are detected. In the first determination, it isdetermined whether a first condition is satisfied, based on a detectionresult obtained in the detection. In the generation coordinatedetermination, coordinates detected in the detection when the firstcondition is determined to be satisfied in the first determination aredetermined as object generation coordinates. In the object generation,the object is generated in the object generation coordinates determinedin the generation coordinate determination. In the object control, amovement of the object is controlled based on continuous detectionresults obtained in the detection after the object generationcoordinates.

Specifically, the object control program stored in the storage mediumcauses the processor (42; a reference numeral corresponds to that inpreferred embodiments, as will be described later; the same applies tothe following) of the information processing apparatus (10) to performthe following as described below. The information processing apparatusdisplays on the display (12, 14) an object (72) to be generated andmoved according to an input from the input (22). In the detection (S3,S5, S15, S17, S35, S37), coordinates inputted by the input are detected.In the first determination (S3, S121, S151-S157, S171, S173), it isdetermined based on a detection result obtained in the detection whethera first condition is satisfied. The first condition may be that there isa transition in the detection from a state in which there is nodetection to a state in which there is detection, or that when a statein which there is detection continues, a changing amount in detectedcoordinates is less (or greater) than a threshold value (i.e., themovement speed of input coordinates is lower (or higher) than athreshold value), or that detected coordinates do not change for apredetermined time period (i.e., input coordinates have stopped for apredetermined time period), or the like. In the generation coordinatedetermination (S7, S181), coordinates detected when the first conditionis determined to be satisfied are determined to be object generationcoordinates. In the object generation (S9), an object is generated inthe determined object generation coordinates. In the object generation,for example, based on object image data, an object image is displayed inthe object generation coordinates. In the object generation, when objectgeneration coordinates are determined in the object generationcoordinate determination, an object image may be displayed in thedetermined coordinates, or after the object generation coordinates, atappropriate timing (e.g., timing at which the object starts to move), anobject image may be displayed in the determined coordinates. In objectcontrol (S43, S61, S65, S93, S95, S99), the movement of the object iscontrolled based on continuous detection results obtained in thedetection after the object generation coordinates. For example, inobject control, after object generation coordinates are detected, basedon results continuously detected, the movement of an object to bedisplayed in the object generation coordinates is controlled. Here, theexpression “continuously detected” is meant to refer to a state inwhich, after object generation coordinates are detected, a state inwhich there is detection continues without going into a state in whichthere is no detection. Note that even when detection is over, if a statein which there is detection occurs before a certain time period haselapsed, it may be considered to be continuous detection. In thismanner, an object is generated in input coordinates detected when aninput detection result is determined to satisfy the first condition andthe movement of the object is controlled based on continuous inputdetection results obtained after the generation coordinates. Thus,according to an input that satisfies the first condition and a series ofinputs made after the input, an object can be easily generated in anarbitrary position and the object can be moved with the generationcoordinates being a starting point.

In one aspect, the object control program may cause the processor tofurther perform a second determination of determining whether a secondcondition is satisfied, based on at least one set of coordinates whichare continuously detected after the first condition is determined to besatisfied in the first determination. In object control, when the secondcondition is determined to be satisfied in the second determination, themovement of the object generated in the object generation may start.

Specifically, in the second determination (S21, S29, S35, S41), based onat least one set of coordinates which are continuously detected afterthe first condition is determined to be satisfied, i.e., based on atleast one set of coordinates which are continuously detected after theobject generation coordinates, it is determined whether a secondcondition is satisfied. The second condition may be that after the firstcondition is satisfied there is a transition in the detection from astate in which there is detection to a state in which there is nodetection, or that when a state in which there is detection continues, achanging amount in detected coordinates is less (or greater) than athreshold value, or that detected coordinates do not change for apredetermined time period, or that coordinate detection continues whichcan be considered that input coordinates are distanced by apredetermined distance from coordinates detected when the firstcondition is satisfied or that detection of coordinates that can beregarded as inputs in a predetermined direction from the coordinates iscontinued, or the like. In object control, when the second condition issatisfied, a movement of the object starts. Hence, a movement of theobject can start according to an input that satisfies the secondcondition.

In an embodiment, in object control, when detection is over aftercontinuous detection, the movement of the object generated may start.

Specifically, the fact that detection is over after the continuousdetection performed after the first condition is satisfied is determinedas the second condition. Thus, when the continuous detection is over,i.e., when there is a transition from a touch-on to a touch-off, amovement of the object can start.

In another embodiment, in the object control step, a parameter for themovement of the object may be determined based on at least one set ofthe coordinates which are continuously detected.

Specifically, in object control (S141, S143, S43), a parameter for themovement of the object is determined based on at least one set ofcoordinates which are continuously detected after the first condition issatisfied. For example, the parameter may be determined by how far apartcoordinates detected immediately before a touch-off are from the objectgeneration coordinates. The parameter for the movement is, for example,the moving speed, moving direction, or moving distance of the object.Thus, the movement of the object can be controlled based on a parameterdetermined based on coordinates continuously detected.

In another aspect, the object control program may cause the processor tofurther perform a third condition determination of whether thecoordinates satisfy a third condition, the coordinates being detectedwhile continuous detection is performed after the object generationcoordinates. In the object control, the movement of the object may becontrolled on condition that the third condition is determined to besatisfied in the third condition determination.

Specifically, in the third condition determination (S21, S29), it isdetermined whether the coordinates detected during continuous detectionafter the object generation coordinates satisfy the third condition. Thethird condition may be, for example, that coordinates being continuouslydetected go outside of a predetermined region. Note that thepredetermined region may be set with respect to the object generationcoordinates. For example, the third condition may be that coordinatesoutside of a predetermine distance range from the object generationcoordinates are detected. Alternatively, the third condition may be thatthe movement direction of coordinates being continuously detected is apredetermined direction. Note that the movement direction of coordinatesbeing continuously detected may be a predetermined direction withrespect to the object generation coordinates. For example, in thepreferred embodiments which will be described later, the third conditionis that coordinates being continuously detected are within a firsteffective range which is set such that an input in a predetermineddirection is considered to be made. Furthermore, the third condition maybe that a changing amount in coordinates continuously detected is less(or greater than a threshold value, or that coordinates continuouslydetected do not change for a predetermined time period, or the like. Inthe object control, when the third condition is determined to besatisfied, the movement of the object is controlled; however, even whenthe second condition is satisfied, if the third condition is notsatisfied, the object is not moved. Thus, when the coordinates detectedduring continuous detection after the object generation coordinatessatisfy the third condition, control of the movement of the object canbe started.

In another embodiment, in the third condition determination, it may bedetermined whether the coordinates detected while continuous detectionis performed in the detection the object generation coordinates aredistanced by a predetermined distance from the object generationcoordinates.

Specifically, in the third condition determination (S21), as the thirdcondition, it is determined whether the coordinates detected duringcontinuous detection after the object generation coordinates aredistanced by the predetermined distance from the object generationcoordinates. Accordingly, when coordinates outside of a predetermineddistance range from the object generation coordinates are detected,control of the movement of the object can be started.

In another embodiment, in the object control, when the continuousdetection results obtained in the detection after the object generationcoordinates satisfy the second condition, the object generated in theobject generation may be moved in a certain direction.

Specifically, in the object control (S61), when the second condition issatisfied, the object is moved in the certain direction. In thisexemplary embodiment, in the object control, based on the movementdirection of coordinates being continuously detected (or based on adirection set with respect to the object generation coordinates), themoving direction of the object may be determined (for example, thedirection opposite to the movement direction of the coordinates beingcontinuously detected may be determined to be the moving direction ofthe object or the same direction may be determined to be the movingdirection of the object). However, here, regardless of the contents ofthe continuous detection results, for example, whatever the movementdirection of the coordinates being continuously detected, when thesecond condition is satisfied, the object is moved in the certaindirection. Therefore, the object can be moved in the certain directionaccording to continuous inputs after the object generation coordinateswhich satisfy the second condition.

In another embodiment, in the second determination, a determination maybe made as to the following additional condition, in addition to thesecond condition. That is, as the additional condition, it is determinedwhether coordinates are present in a direction in a predetermined rangehaving, as a center, the same direction as or a direction opposite tothe certain direction (the moving direction of the object in theaforementioned embodiment) from the object generation coordinates, thecoordinates being detected while continuous detection is performedsucceeding to the object generation coordinates after the firstcondition is determined to be satisfied in the first determination. Notethat when the coordinates detected during continuous detection are goneoutside of the predetermined direction range, then it may be immediatelydetermined that the additional condition is not satisfied, or even whenthe coordinates are gone outside of the predetermined direction range inthe process of continuous detection, if coordinates detected at the timewhen the second condition is satisfied are present in the predetermineddirection range, it may be determined that the additional condition issatisfied.

Specifically, in the second determination (S29, S41), in addition to thesecond condition, it is determined whether, after the first condition isdetermined to be satisfied, the coordinates detected during continuousdetection after the object generation coordinates are present in thepredetermined direction range having, as the center, the same directionas or the direction opposite to the certain direction from the objectgeneration coordinates. That is, when the movement direction ofcoordinates being continuously detected is a direction included in apredetermined range having, as the center, the same direction as or thedirection opposite to the certain direction which is the movingdirection of the object, the additional condition is satisfied. In thepreferred embodiments which will be described later, a determination asto whether continuously detected coordinates after the object generationcoordinates are present in a direction included in a range extending atan angle of θ with respect to a downward direction from the objectgeneration coordinates, is made based on the first effective range.Furthermore, a determination as to whether input coordinates detectedimmediately before a touch-off are present in a direction included in arange extending at an angle of θ with respect to the downward directionfrom the object generation coordinates (furthermore, in the embodiments,whether the coordinates have moved by a predetermined distance d2), ismade based on a second effective range. When the second condition issatisfied, in the object control, the movement of the object in thecertain direction starts. Thus, when an input is made in the samedirection as or the direction opposite to the moving direction of theobject, the object can be moved in the certain direction.

In another aspect, the object control program may cause the processor tofurther perform a fourth condition determination and an objectelimination. In the fourth condition determination, it is determinedwhether the coordinates detected in the detection while continuousdetection is performed after the object generation coordinates satisfy afourth condition. In the object elimination, the object generated in theobject generation is eliminated when the fourth condition is determinedto be satisfied in the fourth condition determination.

Specifically, in the fourth condition determination (S15, S21, S29), itis determined whether the coordinates detected during continuousdetection after the object generation coordinates satisfy the fourthcondition. The fourth condition may be, for example, that coordinatesbeing continuously detected are gone outside of a predetermined region,or that detection is over before the coordinates go outside of thepredetermined region, or that detection is over before the secondcondition is satisfied and the movement of the object starts. Note thatthe predetermined region may be set with respect to the objectgeneration coordinates. Alternatively, the predetermined region may be apredetermined direction (certain range) set with respect to the objectgeneration coordinates. Furthermore, the fourth condition may be thatthe changing amount in detected coordinates is less (or greater) than athreshold value, or that detected coordinates do not change for apredetermined time period, or the like. In the object elimination (S45),when the fourth condition is satisfied, display of the object image isdeleted from the object generation coordinates. Thus, when thecoordinates detected during continuous detection after the objectgeneration coordinates satisfy the fourth condition, the object can beeliminated without being moved.

In another embodiment, in the fourth condition determination, as thefourth condition, a fact is determined that before the coordinates gooutside of a second region, detection is over, the coordinates beingdetected while continuous detection is performed after the objectgeneration coordinates, the second region being provided with respect tothe object generation coordinates.

Specifically, in the fourth condition determination (S15, S21), as thefourth condition, it is determined whether detection is over beforecoordinates being continuously detected go outside of the second regionrange. The second region may be a region within a predetermined distancewith respect to the object generation coordinates. Thus, when detectionis over before the coordinates detected during continuous detectionafter the object generation coordinates go outside of the second region,the object being generated can be eliminated.

In still another embodiment, in the fourth condition determination, asthe fourth condition, a fact is determined that the coordinates gooutside of a third region which is provided with respect to the objectgeneration coordinates, the coordinates being detected in the detectionwhile continuous detection is performed after the object generationcoordinates.

Specifically, in the fourth condition determination (S29), as the fourthcondition, it is determined whether coordinates being continuouslydetected are gone outside of the third region which is provided withrespect to the object generation coordinates. The third region may be aregion which, for example, includes a region within a predetermineddistance surrounding the object generation coordinates and a regionwithin a predetermined range having, as the center, a predetermineddirection from the object generation coordinates. In the embodimentswhich will be described later, the first effective range can be used.Therefore, when the coordinates detected during continuous detectionafter the object generation coordinates go outside of the third region,the object being generated can be eliminated.

In another embodiment, in the object control, in a case that detectionis over after the continuous detection, when the coordinates detectedimmediately before the detection is over are within a fourth regionprovided with respect to the object generation coordinates differentfrom the third region, the movement of the object generated in theobject generation starts.

Specifically, in the object control, in the case in which detection isover after continuous detection (S35), when coordinates detectedimmediately before the detection is over are determined to be within thefourth region which is provided with respect to object generationcoordinates (S41), the movement of the object starts. The fourth regionis different from the third region. For example, the fourth region maybe a range within which the coordinates can be considered to have movedby at least a predetermined distance in a predetermined direction fromthe object generation coordinates. In the preferred embodiments whichwill be described later, the second effective range can be used. Thus,when coordinates detected immediately before continuous detection isover are within the fourth region, the object can be moved.

In still another embodiment, the third region may be present in alldirections of the object generation coordinates, and the fourth regionmay be present only in a predetermined direction of the objectgeneration coordinates.

Specifically, the third region is present in all directions of theobject generation coordinates. In the preferred embodiments which willbe described later, the first effective range which includes a regionextending by a predetermined distance in all directions from the objectgeneration coordinates can be used. On the other hand, the fourth regionis present only in the predetermined of the object generationcoordinates. In the preferred embodiments which will be described later,the second effective range which extends only in the predetermineddirection from a position moved by a predetermined distance in thepredetermined direction from the object generation coordinates can beused. Accordingly, when determining an elimination condition of theobject, it is determined whether the coordinates go outside of a regionpresent in all directions of the object generation coordinates and thuseven when, for example, an input is made in a direction other than thepredetermined direction due to shaking of the hand of the player oruser, it is possible not to eliminate the object. In addition, whendetermining a movement condition of the object, it is determined whetherthe coordinates go outside of a region present only in the predetermineddirection of the object generation coordinates and thus it is possibleto surely determine whether an input is made in the predetermineddirection.

In another embodiment, the second condition may include that an inputdirection is a predetermined direction, the input direction being basedon the object generation coordinates and at least one set of coordinateswhich are continuously detected after the object generation coordinates.In the object control, the object is moved when the second condition isdetermined to be satisfied in the second determination.

Specifically, as the second condition, it is determined whether an inputdirection based on the object generation coordinates and at least oneset of coordinates detected continuously after the object generationcoordinates is the predetermined direction (S21, S29, S41). In theobject control (S61), when the input direction is determined to be thepredetermined direction, the object is moved. Thus, by an input made inthe predetermined direction after the object generation coordinates, theobject can be moved.

In another embodiment, the input may be for detecting coordinates on thedisplay. The predetermined direction in the second condition may be thesame direction as or a direction opposite to a moving direction of theobject in the object control.

Specifically, the input is for detecting coordinates on the display. Forexample, the input may be a pointing device for designating a positionon a display screen. Since the input direction is determined based onthe object generation coordinates and at least one set of coordinatesdetected continuously after the object generation coordinates, by thisinput a desired direction can be easily and intuitively inputted. Whenthere is an input in the predetermined direction after the objectgeneration coordinates, the object can be moved in the same direction asor the direction opposite to the predetermined direction. For example,in response to an input of pushing forward or an input of pullingbackward, the object can be fired in the same direction as or thedirection opposite thereto, and thus, the object can be moved by anintuitive input operation.

In another embodiment, the predetermined direction may be a directionhaving a positive component of a first direction, and the movingdirection of the object may be a direction opposite to the firstdirection. That is, when there is an input, after the object generationcoordinates, in a direction having the positive component of the firstdirection, the object can be moved in the direction opposite to thefirst direction. Therefore, by making an input in such a wide range thatincludes the positive component of the first direction from the objectgeneration coordinates, the object can be easily moved in the directionopposite to the first direction.

In another embodiment, the predetermined direction may fall within arange of less than 90 degrees centering a first direction and the movingdirection of the object may be a direction opposite to the firstdirection. That is, when there is an input in a direction within therange of less than 90 degrees centering a first direction after theobject generation coordinates, the object can be moved in the directionopposite to the first direction. Thus, by making an input in arelatively wide range of less than 90 degrees centering a firstdirection with respect to the object generation coordinates, the objectcan be easily moved in the direction opposite to the first direction.

In another embodiment, the object control may further include:determining an input direction by the input, based on the objectgeneration coordinates and at least one set of coordinates which arecontinuously detected after the object generation coordinates; anddetermining a moving direction of the object based on the inputdirection determined in the input direction determination, and when thesecond condition is determined to be satisfied in the seconddetermination, the object may be moved in the moving directiondetermined in the moving direction determination.

Specifically, in the input direction determination (S91), an inputdirection by the input is determined based on the object generationcoordinates and at least one set of coordinates which are continuouslydetected after the object generation coordinates. In the movingdirection determination (S93), the moving direction of the object isdetermined based on the determined input direction. In the objectcontrol (S95), when the second condition is determined to be satisfied,the object is moved in the determined moving direction. Therefore, sincethe moving direction is determined according to the direction of aninput made after the object generation coordinates, the moving directionof the object can be controlled by a direction to be inputted.

In another embodiment, in the input direction determination, a directionthat connects the object generation coordinates with coordinatesdetected in the detection when the second condition is determined to besatisfied in the second determination is determined to be the inputdirection. That is, a direction that connects coordinates detected whenthe first condition is determined to be satisfied with coordinatesdetected when the second condition is determined to be satisfied isdetermined to be an input direction, and based on the input directionthe moving direction of the object is determined. Accordingly, by makingan input that satisfies the first condition and an input that satisfiesthe second condition in appropriate positions, the user can move theobject in a desired direction.

In another embodiment, in the moving direction determination, a reverseddirection from the input direction is determined to be the movingdirection of the object. That is, the direction opposite to an inputdirection is determined to be a moving direction. Therefore, the objectcan be moved in the direction opposite to the direction of an input madeafter the object generation coordinates. For example, in response to aninput of pulling, the object can be fired in the direction oppositethereto, and thus, the object can be moved by an intuitive inputoperation.

In another embodiment, in the input direction determination, based oncoordinates detected in the detection during a time period, the inputdirection for each time period is determined, the time period being fromwhen the first condition is determined to be satisfied in the firstdetermination until when the second condition is determined to besatisfied in the second determination step, in the moving directiondetermination, based on the input direction for the each time period, amoving direction of the object for the each time period is determined,in the object generation, the different objects for the different timeperiods are generated in the respective object generation coordinatesdetermined for the different time periods, and in the object control,the objects are moved in the respective moving directions determined forthe different time periods.

Specifically, based on an input direction determined for each timeperiod from when the first condition is satisfied until when the secondcondition is satisfied, the moving direction is determined. In addition,different objects for different time periods are generated in therespective object generation coordinates determined for the differenttime periods and the objects are moved in the respective movingdirections determined for the different time periods. Thus, by repeatinginputs satisfying the first and second conditions, a plurality of ormultiple objects can be continuously and easily generated and theobjects can be moved in the respective moving directions.

In another embodiment, in the object generation, different objects maybe generated for different determinations in the generation coordinatedetermination. That is, each time the first condition is satisfied, anew object is generated, and thus, a plurality of or multiple objectscan be continuously and easily generated.

In another embodiment, in the object generation, the object may begenerated when the second condition is determined to be satisfied in thesecond determination. That is, when it is determined based on continuousinputs made after the object generation coordinates that the secondcondition is satisfied, the object can be generated and moved.

In still another embodiment, in the object generation, in a case that,during a time period from when the first condition is determined to besatisfied in the first determination until when the second condition isdetermined to be satisfied in the second determination, it is furtherdetermined in the first determination that the first condition issatisfied, a first object is generated in the object generationcoordinates which are determined when the first condition which is afirst one is determined to be satisfied, and a second object differentfrom the first object is generated in the object generation coordinateswhich are determined when the first condition which is a second one isdetermined to be satisfied. That is, when, after the first condition issatisfied and before the second condition is determined to be satisfied,the first condition is determined to be satisfied again, each time thefirst condition is satisfied, a new object can be generated.Accordingly, a plurality of or multiple objects can be continuously andeasily generated.

In another aspect, the object control program may cause the processor tofurther perform a time measurement of measuring a time during whichcoordinates are continuously present within a predetermined region fromthe object generation coordinates, the coordinates being detected in thedetection after the first condition is determined to be satisfied in thefirst determination. The object control may include a firstcharacteristic setting of setting at least one of type data on theobject and a movement parameter of the object, according to the timemeasured.

Specifically, in the time measurement (S23), a time during whichcoordinates detected after the first condition is satisfied arecontinuously present within the predetermined region from the objectgeneration coordinates. In the first characteristic setting (S25, S27),type data on the object or a movement parameter of the object are setaccording to the measured time. The movement parameter may be, forexample, a moving speed, a moving direction, or a moving distance.Hence, by continuously making an input in the predetermined region fromthe object generation coordinates, the type or movement parameter of theobject can be easily changed.

In still another aspect, the object control program may cause theprocessor to further perform a distance calculation of calculating adistance between the object generation coordinates and coordinatesdetected when the second condition is determined to be satisfied in thesecond determination. The object control may include a secondcharacteristic setting of setting at least one of type data on theobject and a movement parameter of the object, according to the distancecalculated in the distance calculation.

Specifically, in the distance calculation (S141), the distance betweenthe object generation coordinates and coordinates detected when thesecond condition is satisfied is calculated. In the secondcharacteristic setting (S143), according to the calculated distance,type data on the object or a movement parameter of the object is set.Thus, the type or movement parameter of the object can be easily changeddepending on a position, with respect to the object generationcoordinates, in which an input that satisfies the second condition ismade.

In another embodiment, the object control may include a thirdcharacteristic setting of setting at least one of type data on theobject and a movement parameter of the object, according to the objectgeneration coordinates determined in the generation coordinatedetermination. That is, in the third characteristic setting (S131), typedata on the object or a movement parameter of the object is setaccording to the object generation coordinates. Therefore, the type ormovement parameter of the object can be easily changed depending on aposition where an input that satisfies the second condition is made.

In another aspect, the object control program may cause the processor tofurther perform: controlling generation and movement of a shootingtarget object; determining whether there is a collision between theobject and the shooting target object; and eliminating the shootingtarget object when it is determined that the object has collided withthe shooting target object.

Specifically, in the shooting target control (S1), the generation andmovement of a shooting target object (70) is controlled. In thecollision determination (S67, S101), it is determined whether there is acollision between the object and the shooting target object. In thecollision (S71, S109), when a collision occurs, the shooting targetobject is eliminated. Thus, for example, a shooting game with highstrategic characteristics can be realized in which by generating anobject in an arbitrary position and moving the object in a predeterminedmoving direction, a shooting target object is shot down.

In another embodiment, the shooting target control may include settingendurance data for each shooting target object. The collision mayinclude subtracting, when it is determined that the object has collidedwith the shooting target object, endurance indicated by the endurancedata on the shooting target object, and the shooting target object iseliminated when the endurance after the subtraction becomes lower thanor equal to a predetermined threshold value.

Specifically, in the endurance setting (S1), endurance data is set foreach shooting target object. In the subtraction (S75, S105), when acollision occurs, the endurance of the shooting target object issubtracted. In the collision, when the endurance becomes lower than orequal to a predetermined threshold value (S107), the shooting targetobject is eliminated. Therefore, for example, a shooting game with highstrategic characteristics can be provided in which until the enduranceof a shooting target object becomes zero, the necessary number ofobjects are generated one after another to cause a collision.

In another aspect, the object control program may cause the processor tofurther perform measuring, for each object, a time during which, afterthe first condition is determined to be satisfied in the firstdetermination, coordinates detected in the detection are continuouslypresent within a predetermined region from the object generationcoordinates. In the collision, the longer the time measured in the timemeasurement for the object having collided with the shooting targetobject, the larger a value to be subtracted from the endurance data onthe shooting target object. Thus, for example, a shooting game with highstrategic characteristics can be provided in which by continuouslymaking an input in the predetermined region from the object generationcoordinates, the attack power of each object can be increased.

In another aspect, the object control program may cause the processor tofurther perform calculating, for each object, a distance between theobject generation coordinates and coordinates detected when the secondcondition is determined to be satisfied. In the collision, the longerthe distance calculated in the distance calculation for the objecthaving collided with the shooting target object, the larger a value tobe subtracted from the endurance data on the shooting target object.Accordingly, for example, a shooting game with high strategiccharacteristics can be provided in which by making an input thatsatisfies the second condition, at a position further distanced from theobject generation coordinates, the attack power of each object can beincreased.

In another embodiment, in the collision, according to the objectgeneration coordinates of the object having collided with the shootingtarget object, a value to be subtracted from the endurance data on theshooting target object may be changed. Thus, a shooting game with highstrategic characteristics can be provided in which the attack power ofeach object can be changed according to a position where an input thatsatisfies the first condition is made.

In still another embodiment, the input may be a touch panel placed overa display screen of the display. Hence, by an input operation which issimple and intuitive, as if the player or user were directly touching ona display screen, an object can be generated in an arbitrary positionand moved.

A storage medium storing an object control program of a second exemplaryembodiment is a storage medium having stored therein an object controlprogram of an information processing apparatus that displays on adisplay an object to be generated and moved according to an input froman input. The object control program stored in the storage medium causesa processor of the information processing apparatus to perform adetection, a first determination, a generation coordinate determination,an object generation, an outside-of-region determination, an objectcontrol, and an object elimination. In the detection, coordinatesinputted from the input are detected. In the first determination, it isdetermined whether a first condition is satisfied, based on a detectionresult obtained in the detection. In the generation coordinatedetermination, as object generation coordinates, coordinates detected inthe detection when the first condition is determined to be satisfied inthe first determination are determined. In the object generation, theobject is generated in the object generation coordinates determined inthe generation coordinate determination. In the outside-of-regiondetermination, it is determined whether the coordinates are outside of afirst region which is provided with respect to the object generationcoordinates, the coordinates being detected in the detection whilecontinuous detection is performed in the detection after the objectgeneration coordinates. In the object control, a movement of the objectgenerated in the object generation is started when detection in thedetection is over after the coordinates detected during the continuousdetection are determined to be outside of the first region in theoutside-of-region determination. In the object elimination, the objectgenerated in the object generation is eliminated when detection in thedetection is over before the coordinates detected during the continuousdetection are determined to be outside of the first region in theoutside-of-region determination.

The second exemplary embodiment is directed to a storage medium havingstored therein an object control program of an information processingapparatus (10) which is similar to that of the aforementioned firstexemplary embodiment. In the detection (S3, S5, S15, S17, S35, S37),coordinates inputted from the input are detected. In the firstdetermination (S3, S121, S151-S157, S171, S173), it is determinedwhether a first condition is satisfied, based on a detection resultobtained in the detection. The first condition may be that there is atransition in the detection from a state in which there is no detectionto a state in which there is detection, or that when a state in whichthere is detection continues, the changing amount in detectedcoordinates is less (or greater) than a threshold value, or thatdetected coordinates do not change for a predetermined time period, orthe like. In the generation coordinate determination (S7, S181),coordinates detected when the first condition is determined to besatisfied are determined to be object generation coordinates. In theobject generation (S9), an object is generated in the determined objectgeneration coordinates. In the object generation step, for example, anobject image is displayed in the object generation coordinates based onobject image data. Alternatively, in the object generation step, whenobject generation coordinates are determined in the object generationcoordinate determination step, an object image may be displayed in thedetermined coordinates, or after the object generation coordinates, atappropriate timing (e.g., timing at which the object starts to move), anobject image may be displayed in the determined coordinates. In theoutside-of-region determination (S21, S185), it is determined whetherthe coordinates detected while continuous detection is performed in thedetection are outside of the first region which is provided with respectto the object generation coordinates. The first region may be a regionwithin a predetermined distance from the object generation coordinates.In the object control (S35, S43, S61, S65, S93, S95, S99), a movement ofthe object is started when detection in the detection is over after thecoordinates detected during the continuous detection are determined tobe outside of the first region. In the object elimination (S15, S45),the object is eliminated when detection in the detection is over beforethe coordinates detected during the continuous detection are determinedto be outside of the first region. In this manner, by making an inputthat satisfies the first condition, an object can be easily generated inan arbitrary position. Then, after coordinates outside of the firstregion are inputted by continuous inputs made after the objectgeneration coordinates, a touch-off state is caused, whereby thegenerated object can be easily started to move. In addition, beforeinputting coordinates outside of the first region by continuous inputsmade after the object generation coordinates, a touch-off state iscaused, whereby the generated object can be easily eliminated.

An information processing apparatus of a third exemplary embodiment isan information processing apparatus that displays on a display an objectto be generated and moved according to an input from an input. Theinformation processing apparatus comprises detection means, firstdetermination means, generation coordinate determination means, objectgeneration means, and object control means. The detection detectscoordinates inputted from the input. The first determination determineswhether a first condition is satisfied, based on a detection resultobtained by the detection means. The generation coordinate determinationdetermines, as object generation coordinates, coordinates detected bythe detection when the first condition is determined to be satisfied bythe first determination means. The object generation generates theobject in the object generation coordinates determined by the generationcoordinate determination means. The object control controls a movementof the object based on continuous detection results obtained by thedetection after the object generation coordinates.

The third exemplary embodiment is directed to an information processingapparatus corresponding to the storage medium having stored therein theobject control program of an aforementioned first exemplary embodiment.As in the first exemplary embodiment, an object can be easily generatedin an arbitrary position and the object can be moved.

An information processing apparatus of a fourth exemplary embodiment isan information processing apparatus that displays on a display an objectto be generated and moved according to an input from an input. Theinformation processing apparatus comprises detection means, firstdetermination means, generation coordinate determination means, objectgeneration means, outside-of-region determination means, object controlmeans, and object elimination means. The detection detects coordinatesinputted from the input. The first determination determines whether afirst condition is satisfied, based on a detection result obtained bythe detection means. The generation coordinate determination determines,as object generation coordinates, coordinates detected by the detectionwhen the first condition is determined to be satisfied by the firstdetermination means. The object generation generates the object in theobject generation coordinates determined by the generation coordinatedetermination means. The outside-of-region determination determineswhether the coordinates are outside of a first region which is providedwith respect to the object generation coordinates, the coordinates beingdetected by the detection while continuous detection is performed by thedetection after the object generation coordinates. The object controlstarts a movement of the object generated by the object generationmeans, when detection by the detection is over after the coordinatesdetected during the continuous detection are determined to be outside ofthe first region by the outside-of-region determination means. Theobject elimination eliminates the object generated by the objectgeneration means, when detection by the detection is over before thecoordinates detected during the continuous detection are determined tobe outside of the first region by the outside-of-region determinationmeans.

The fourth exemplary embodiment is directed to an information processingapparatus corresponding to the storage medium having stored therein theobject control program of the aforementioned second exemplaryembodiment. As in the second exemplary embodiment, an object can beeasily generated in an arbitrary position and the movement andelimination of the object can be easily controlled.

According to certain exemplary embodiments, according to an input thatsatisfies the first condition, an object is generated in coordinatesdetected when the first condition is satisfied. Furthermore, based oncontinuous inputs made after the object generation coordinates, themovement and elimination of the object is controlled. For example, withthe generation position being a starting point, the object can be movedin a specific direction or a direction based on an input direction. Assuch, by a series of inputs, an object can be easily generated in anarbitrary position and moved. Accordingly, for example, in the case of agame, the generation position (starting point of movement) and movingdirection of an object can be freely controlled by an input by theplayer, and thus, the strategic characteristics of the game can beimproved. In addition, for example, in the case in which differentobjects for different determined object generation coordinates aregenerated and the objects are moved in the same direction as or thedirection opposite to an input direction, multiple objects can becontinuously generated and moved by a simple, intuitive operation, andthus, a feeling of exhilaration can be obtained, providing a game thateven beginners can enjoy.

The above and other objects and features and advantages of certainexemplary embodiments will more fully be apparent from the followingdetailed description of the exemplary embodiments with accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view showing an exemplary information processingapparatus according to an embodiment of in accordance with an exemplaryembodiment;

FIG. 2 is a block diagram showing an electrical configuration of theembodiment of FIG. 1;

FIG. 3 is an illustrative view showing an exemplary initial screen onwhich a plurality of enemy characters are displayed on an upper screen;

FIG. 4 is an illustrative view showing an exemplary display screen forthe case in which a bullet object is generated on a lower screen by atouch input;

FIG. 5 is an illustrative view showing an exemplary display screen forthe case in which after the operation in FIG. 4 the bullet object in atouch-on state is moved in a downward direction;

FIG. 6 is an illustrative view showing an exemplary display screen forthe case in which after the operation in FIG. 5 the bullet object isbrought into a touch-off state and moved in an upward direction;

FIG. 7 is an illustrative view showing an exemplary display screen forthe case in which after the operation in FIG. 6 the bullet objectcollides with an enemy character;

FIG. 8 is an illustrative view for describing a bullet object movementcondition and showing a certain distance range from thefirst-touch-input position;

FIG. 9 is an illustrative view for describing the bullet object movementcondition and showing a first effective range;

FIG. 10 is an illustrative view for describing the bullet objectmovement condition and showing a second effective range;

FIG. 11 is an illustrative view showing an exemplary RAM memory map;

FIG. 12 is an illustrative view showing exemplary content of bulletcharacteristics table data;

FIG. 13 is a flowchart showing part of an exemplary operation of anobject control process performed by the information processing apparatusaccording to the embodiment of FIG. 1;

FIG. 14 is a flowchart continued from the flowchart of FIG. 13;

FIG. 15 is a flowchart showing an exemplary operation of a bullet objectmovement process of FIG. 14;

FIG. 16 is an illustrative view showing an exemplary RAM memory mapaccording to another embodiment;

FIG. 17 is a flowchart showing part of an exemplary operation of anobject control process performed by an information processing apparatusaccording to the another embodiment;

FIG. 18 is a flowchart showing an exemplary operation of a bullet objectmovement process of FIG. 17;

FIG. 19 is a flowchart showing part of an exemplary operation for thecase in which an input position is considered as a bullet objectgeneration condition;

FIG. 20 is a flowchart showing part of an exemplary operation for thecase in which the type of bullet object is set according to an objectgeneration position;

FIG. 21 is a flowchart showing part of an exemplary operation for thecase in which the type of bullet object is set according to a distancebetween an input position detected when the bullet object movementcondition is satisfied and an object generation position;

FIG. 22 is a flowchart showing part of an exemplary operation for thecase in which a bullet object is generated and moved when the bulletobject generation condition and movement condition are satisfied;

FIG. 23 is a flowchart continued from the flowchart of FIG. 22;

FIG. 24 is a flowchart showing part of an exemplary operation for thecase in which a bullet object is generated under condition that an inputposition rests for a certain time period;

FIG. 25 is a flowchart showing part of an exemplary operation for thecase in which a bullet object is generated under condition that the amovement input speed is lower than or equal to a certain value;

FIG. 26 is a flowchart showing part of an exemplary operation for thecase in which, when, before the bullet object movement condition issatisfied, the bullet object generation condition is satisfied again,another bullet object is generated; and

FIG. 27 is a flowchart continued from the flowchart of FIG. 26.

DETAILED DESCRIPTION

Referring to FIG. 1, an information processing apparatus 10 which is oneexemplary embodiment can be implemented as a form of game apparatus, forexample. The game apparatus 10 includes a first liquid crystal display(LCD) 12 and a second LCD 14. The LCD 12 and the LCD 14 are provided ona housing 16 so as to be arranged in a predetermined position in thehousing. In this embodiment, the housing 16 comprises an upper housing16 a and a lower housing 16 b, and the LCD 12 is provided on the upperhousing 16 a while the LCD 14 is provided on the lower housing 16 b.Accordingly, the LCD 12 and the LCD 14 are closely arranged so as to belongitudinally (vertically) parallel with each other.

It should be noted that although the LCD is utilized as a display inthis embodiment, an EL (Electronic Luminescence) display and a plasmadisplay may be used in place of the LCD.

As can be understood from FIG. 1, the upper housing 16 a has a planeshape little larger than a plane shape of the LCD 12, and has an openingformed so as to expose a display surface of the LCD 12 from one mainsurface thereof. On the other hand, the lower housing 16 b has a planeshape horizontally longer than the upper housing 16 a, and has anopening formed so as to expose a display surface of the LCD 14 at anapproximately center of the horizontal direction. Furthermore, the lowerhousing 16 b is provided with a sound hole 18 and operating switches 20(20 a, 20 b, 20 c, 20 d, 20 e, 20L and 20R).

In addition, the upper housing 16 a and the lower housing 16 b arerotatably connected at a lower side (lower edge) of the upper housing 16a and a part of an upper side (upper edge) of the lower housing 16 b.Accordingly, in a case of not playing a game, for example, if the upperhousing 16 a is rotatably folded such that the display surface of theLCD 12 and the display surface of the LCD 14 are face to face with eachother, it is possible to prevent the display surface of the LCD 12 andthe display surface of the LCD 14 from being damaged such as a flaw,etc. It should be noted that the upper housing 16 a and the lowerhousing 16 b are not necessarily rotatably connected with each other,and may alternatively be provided integrally (fixedly) to form thehousing 16.

The operating switches 20 include a direction instructing switch (crossswitch) 20 a, a start switch 20 b, a select switch 20 c, an actionswitch (A button) 20 d, an action switch (B button) 20 e, an actionswitch (L button) 20L, and an action switch (R button) 20R. The switches20 a, 20 b and 20 c are placed at the left of the LCD 14 on the one mainsurface of the lower housing 16 b. Also, the switches 20 d and 20 e areplaced at the right of the LCD 14 on the one main surface of the lowerhousing 16 b. Furthermore, the switches 20L and 20R are placed in a partof an upper edge (top surface) of the lower housing 16 b at a placeexcept for a connected portion with the upper housing 16 a, and lie ofeach side of the connected portion.

The direction instructing switch 20 a functions as a digital joystick,and is utilized for instructing a moving direction of a player character(or player object) to be operated by a player and a cursor, and so forthby operating any one of four depression portions. The start switch 20 bis formed by a push button, and is utilized for starting (restarting),temporarily stopping a game, and so forth. The select switch 20 c isformed by the push button, and utilized for a game mode selection, etc.

The action switch 20 d, that is, the A button is formed by the pushbutton, and allows the player character to perform an arbitrary movement(action), except for instructing the direction, such as hitting(punching), throwing, holding (obtaining), riding, jumping, etc. Forexample, in an action game, it is possible to apply an instruction ofjumping, punching, moving arms, etc. In a role-playing game (RPG) and asimulation RPG, it is possible to apply an instruction of obtaining anitem, selecting and determining arms or command, etc. The action switch20 e, that is, the B button is formed by the push button, and isutilized for changing a game mode selected by the select switch 20 c,canceling an action determined by the A button 20 d, and so forth.

The action switch (left depression button) 20L and the action switch(right depression button) 20R are formed by the push button, and theleft depression button (L button) 20L and the right depression button (Rbutton) 20R can perform the same operation as the A button 20 d and theB button 20 e, and also function as a subsidiary of the A button 20 dand the B button 20 e.

Also, on a top surface of the LCD 14, a touch panel 22 is provided. Asthe touch panel 22, any one of kinds of a resistance film system, anoptical system (infrared rays system) and an electrostatic capacitivecoupling system, for example, can be utilized. In response to anoperation by depressing, stroking, touching, hitting, and so forth witha stick 24, a pen (stylus pen), or a finger (hereinafter, referred to as“stick 24, etc.”) on a top surface of the touch panel 22, the touchpanel 22 detects a coordinates position operated by the stick 24, etc.(that is, touched) to output coordinates data corresponding to thedetected coordinates.

It should be noted that in this embodiment, a resolution of the displaysurface of the LCD 14 is 256 dots×192 dots, and a detection accuracy ofa detection surface (operation surface) of the touch panel 22 is alsorendered 256 dots×192 dots in correspondence to the resolution of thedisplay surface (this is true for the LCD 12). However, in FIG. 1, inorder to simply represent the touch panel 22, the touch panel 22 isdisplayed different from the LCD 14 in size, but the display screen ofthe LCD 14 and the operation screen of the touch panel 22 are the samein size. It should be noted that the detection accuracy of the touchpanel 22 may be lower than the resolution of the display surface, orhigher than it.

Different game screens may be displayed on the LCD 12 and the LCD 14.For example, in a racing game, a screen viewed from a driving seat isdisplayed on the one LCD, and a screen of entire race (course) may bedisplayed on the other LCD. Furthermore, in the RPG, characters such asa map, a player character, etc. are displayed on the one LCD, and itemsbelonging to the player character may be displayed on the other LCD.Furthermore, a game play screen may be displayed on the one LCD (LCD 12in this embodiment), and a game screen (operation screen) including animage such as textual information, an icon, etc. for operating the gamemay be displayed on the other LCD (LCD 14 in this embodiment).Furthermore, by utilizing the two LCD 12 and LCD 14 as one screen, it ispossible to display a large monster (enemy character) to be defeated bythe player character.

Accordingly, the player is able to point a character image such as aplayer character, an enemy character, an item character, textureinformation, an icon, etc. to be displayed on the LCD 14 and selectcommands by operating the touch panel 22 with the use of the stick 24,etc.

It should be noted that depending on the kind of the game, the player isable to use the LCD 14 for another various input instructions, such asselecting or operating the icon displayed on the LCD 14, instructing acoordinate input, and so forth.

Thus, the game apparatus 10 has the LCD 12 and the LCD 14 as a displayportion of two screens, and by providing the touch panel 22 on an uppersurface of any one of them (LCD 14 in this embodiment), the gameapparatus 10 has the two screens (12, 14) and the operating portions(20, 22) of two systems.

Furthermore, in this embodiment, the stick 24 can be inserted into ahousing portion (housing slot) 26 provided in proximity to a sidesurface (right side surface) of the upper housing 16 a, for example, andtaken out therefrom as necessary. It should be noted that in a case ofpreparing no stick 24, it is not necessary to provide the housingportion 26.

Also, the game apparatus 10 includes a memory card (or game cartridge)28. The memory card 28 is detachable, and inserted into a loading slot30 provided on a rear surface or a lower edge (bottom surface) of thelower housing 16 b. Although omitted in FIG. 1, a connector 46 (see FIG.2) is provided at a depth portion of the loading slot 30 for connectinga connector (not shown) provided at an end portion of the memory card 28in the loading direction, and when the memory card 28 is loaded into theloading slot 30, the connectors are connected with each other, andtherefore, the memory card 28 is accessible by a CPU core 42 (see FIG.2) of the game apparatus 10.

It should be noted that although not illustrated in FIG. 1, a speaker 32(see FIG. 2) is provided at a position corresponding to the soundrelease hole 18 inside the lower housing 16 b.

Furthermore although omitted in FIG. 1, for example, a batteryaccommodating box is provided on a rear surface of the lower housing 16b, and a power switch, a volume switch, an external expansion connector,an earphone jack, etc. are provided on a bottom surface of the lowerhousing 16 b.

FIG. 2 is a block diagram showing an electrical configuration of thegame apparatus 10. Referring to FIG. 2, the game apparatus 10 includesan electronic circuit board 40, and on the electronic circuit board 40,a circuit component such as a CPU core 42, etc. is mounted. The CPU core42 is connected to the connector 46 via a bus 44, and is connected witha RAM 48, a first graphics processing unit (GPU) 50, a second GPU 52,and an input-output interface circuit (hereinafter, referred to as “I/Fcircuit”) 54, an LCD controller 60, and a wireless communication portion64.

The connector 46 is detachably connected with the memory card 28 asdescribed above. The memory card 28 includes a ROM 28 a and a RAM 28 b,and although illustration is omitted, the ROM 28 a and the RAM 28 b areconnected with each other via a bus and also connected with a connector(not shown) to be connected with the connector 46. Accordingly, the CPUcore 42 gains access to the ROM 28 a and the RAM 28 b as describedabove.

The ROM 28 a, or “storage medium,” stores in advance a game program fora game (virtual game) to be executed by the game apparatus 10, imagedata (character image, background image, item image, icon (button)image, message image, cursor image etc.), data of the sound (music)necessary for the game (sound data), etc. The RAM (backup RAM) 28 bstores (saves) proceeding data and result data of the game.

In addition, in a case that an application other than the games, in theROM 28 a in the memory card 2, a program for the application and imagedata and so on necessary to execution of the application are stored.Furthermore, as necessary, sound (music) data may be stored therein.

The RAM 48 is utilized as a buffer memory or a working memory. That is,the CPU core 42 loads the game program, the image data, the sound data,etc. stored in the ROM 28 a of the memory card 28 into the RAM 48, andexecutes the loaded game program. The CPU core 42 executes a gameprocess while storing data (game data, flag data, etc.) generated orobtained in correspondence with a progress of the game in the RAM 48.

It should be noted that the program, the image data, the sound data,etc. are loaded from the ROM 28 a entirely at a time, or partially andsequentially as necessary so as to be stored into the RAM 48. However,as in the present embodiment, in a case that the storage medium fixedlystoring the program and the data is capable of being directly connectedto the CPU core 42, since the CPU core 42 can directly access thestorage medium, it is unnecessary to transfer and store the program andthe data into the RAM 48.

Each of the GPU 50 and the GPU 52 forms a part of a rendering means, isconstructed by, for example, a single chip ASIC, and receives a graphicscommand (construction command) from the CPU core 42 to generate gameimage data according to the graphics command. It should be noted thatthe CPU core 42 applies an image generation program (included in thegame program) to both of the CPU 50 and GPU 52.

Furthermore, the GPU 50 is connected with a first video RAM (hereinafterreferred to as “VRAM”) 56, and the GPU 52 is connected with a secondVRAM 58. The GPU 50 and the GPU 52 respectively access the first VRAM 56and the second VRAM 58 to obtain necessary data (image data: characterdata, texture data, etc.) necessary for executing the graphics command.It should be noted that the CPU core 42 reads image data necessary forrendering from the RAM 48, and writes it to the first VRAM 56 and thesecond VRAM 58. The GPU 50 accesses the VRAM 56 to generate game imagedata for display, and stores it in a rendering buffer in the VRAM 56.The GPU 52 accesses the VRAM 58 to create game image data for display,and stores the image data in a rendering buffer of the VRAM 58. A flamebuffer or a line buffer may be employed as a rendering buffer.

The VRAM 56 and the VRAM 58 are connected to the LCD controller 60. TheLCD controller 60 includes a register 62, and the register 62 consistsof, for example, one bit, and stores a value of “0” or “1” (data value)according to an instruction of the CPU core 42. The LCD controller 60outputs the game image data created by the GPU 50 to the LCD 12, andoutputs the game image data created by the GPU 52 to the LCD 14 in acase that the data value of the register 62 is “0”. On the other hand,the LCD controller 60 outputs the game image data created by the GPU 50to the LCD 14, and outputs the game image data created by the GPU 52 tothe LCD 12 in a case that the data value of the register 62 is“1”.

It should be noted that the LCD controller 60 can directly read the gameimage data from the VRAM 56 and the VRAM 58, or read the game image datafrom the VRAM 56 and the VRAM 58 via the GPU 50 and the GPU 52.

Also, the VRAM56 and the VRAM58 may be provided in the RAM 48, or therendering buffer and a Z buffer may be provided in the RAM 48.

The I/F circuit 54 is connected with the operating switch 20, the touchpanel 22 and the speaker 32. Here, the operating switch 20 is theabove-described switches 20 a, 20 b, 20 c, 20 d, 20 e, 20L and 20R, andin response to an operation of the operating switch 20, a correspondingoperation signal (operation data) is input to the CPU core 42 via theI/F circuit 54. Furthermore, operation data output from the touch panel22 (coordinates data) is input to the CPU core 42 via the I/F circuit54. In addition, the CPU core 42 reads from the RAM 48 the sound datanecessary for the game such as a game music (BGM), a sound effect orvoices of a game character (onomatopoeic sound), etc., and outputs itfrom the speaker 32 via the I/F circuit 54.

The wireless communication unit 64 is a communication for wirelesslysending and receiving data with other game apparatus 10. The wirelesscommunication unit 64 modulates communication data to be transmitted tothe opponent into a radio signal to send it from an antenna, andreceives a radio signal from the opponent by the same antenna todemodulate it to communication data.

In the game machine 10, a shooting game, for example, can be performed.As shown in FIG. 3, in an initial game screen, a plurality of enemycharacters 70 are displayed on the upper screen so as to be arranged ina predetermined configuration (e.g., horizontally and vertically). Onthe lower screen, the same game space as that of the upper screen inwhich the enemy characters 70 are present is displayed. By operating thetouch panel 22 placed over the lower screen, a player generates a bulletobject 72 in the game space and moves the bullet object 72 toward anenemy character 70 and shoots down the enemy character 70 which is ashooting target.

In the present embodiment, when an input made on the touch panel 22satisfies a first condition, generation coordinates where a bulletobject 72 is to be generated are determined and the bullet object 72 isgenerated and displayed in the object generation coordinates.Specifically, as shown in FIG. 4, when a touch input is made on thetouch panel 22, i.e., when there is a transition from a touch-off state(a state in which there is no touch input) to a touch-on state (a statein which there is a touch input), the first-touch-input coordinates areset to object generation coordinates and a bullet object 72 is generatedand displayed at a position of the lower screen corresponding to theinput coordinates. As such, by just touching an arbitrary position onthe touch panel 22 of the lower screen with a stick 24 or the like, abullet object 72 can be easily generated in that position.

Subsequently, as shown in FIG. 5, when the stick 24 or the like being inthe touch-on state is slid in a downward direction from thefirst-touch-input position, a tail 74 of the bullet object 72 isdisplayed, expressing that the bullet object 72 is ready to be fired.The image of the tail 74 changes so that a touch input position is theposition of an end of the tail 74.

Thereafter, as shown in FIG. 6, when the stick 24 or the like isreleased from the touch panel 22, i.e., when a transition to a touch-offstate occurs, the bullet object 72 is moved in a specific direction (anupward direction of the screen in the present embodiment) from theobject generation position. The tail 74 is changed so as to extend inthe upward direction according to the movement of the bullet object 72.Then, as shown in FIG. 7, when the bullet object 72 collides with anenemy character 70, the enemy character 70 takes damage. If theendurance of the enemy character 70 is lower than the attack power ofthe bullet object 72, the enemy character 70 can be eliminated. As such,by such a simple operation as performing a series of touch operationsfrom a touch-on to a touch-off, a bullet object 72 can be generated inany free position and can be moved in the specific direction.

Note, however, that a condition (second condition) for causing thebullet object 72 to move is set. Specifically, this movement conditionincludes that a direction inputted by a continuous touch input is adirection that satisfies a predetermined condition. The input directionis, for example, a movement direction of coordinates detected duringcontinuous detection after the object generation coordinates. The inputdirection is determined based on the object generation coordinates andat least one set of coordinates detected continuously after the objectgeneration coordinates. When the movement condition is satisfied, thebullet object 72 is moved in the specific direction.

The direction that satisfies the predetermined condition is a specificfirst direction and the moving direction in this case is the directionopposite to the specific direction, e.g., the first direction. In thepresent embodiment, the first direction is set to a downward direction(directly downward direction) on a display screen of an LCD 14 overwhich the touch panel 22 is placed. The moving direction in this case isan upward direction (directly upward direction) on the display screen.By performing an operation such that the generated bullet object 72 ispulled, the bullet object 72 can be fired in the direction opposite tothe direction in which the bullet object 72 is pulled, and thus, thebullet object 72 can be intuitively controlled, making it possible toprovide the player or user a sense of reality when firing the object 72.

Alternatively, the direction that satisfies the predetermined conditionmay be a direction having the positive component of the first direction.In the present embodiment, the direction that satisfies thepredetermined condition can be any direction having the positivecomponent of the downward direction on the display screen, i.e., thedirection that satisfies the predetermined condition is not limited tothe directly downward direction and can be any downward direction. Themoving direction in this case is also the directly upward direction onthe display screen, for example. By making an input in such a wide rangethat includes the positive component of the first direction, the objectcan be easily moved in the direction opposite to the first direction.

Alternatively, the direction that satisfies the predetermined conditionmay fall within a range of less than 90 degrees centering a firstdirection. In the present embodiment, the direction that satisfies thepredetermined condition can fall within a range of less than 90 degreescentering a direction that is direct downward on the display screen, andmay be any direction, for example, that falls within a range extendingby less than 45 degrees on either side of the direct downward direction.The moving direction in this case is also the directly upward directionon the display screen. By making an input within a relatively wide rangeextending less than 90 degrees from the first direction to the left andright sides of the first direction from the object generationcoordinates, the object can be easily moved in the direction opposite tothe first direction.

In the present embodiment, when there is an operation such that theobject is pulled in a direction that is considered to be the downwarddirection, the bullet object 72 is moved in the directly upwarddirection, even if the direction is shifted from the directly downwarddirection. As shown in FIG. 3, since in the present embodiment theplurality of enemy characters 70 are arranged in a vertical direction,by setting the moving direction of the bullet object 72 to the directlyupward direction, the enemy characters 70 can be easily defeated. Assuch, by setting the moving direction of an object 72 to be generated toa specific direction that matches or adapts to, for example, theposition or direction of a destination of movement of the object 72 orthe existing location (position), arrangement, or configuration of otherobjects 70 that are affected by the movement of the object 72, theachievement of the purpose of movement of the object 72 and theproceeding of the game and application can be facilitated.

In addition, in the present embodiment, as described above, it isdetermined whether the input direction is a direction satisfying thepredetermined condition, i.e., the input direction is considered to bethe downward direction on the display screen. To put it in simple words,it is determined whether the input direction is a predetermineddirection, i.e., whether an input in the downward direction is made.

Specifically, in the present embodiment, first, as shown in FIG. 8, itis determined whether detected input coordinates has moved from theobject generation coordinates (the first-touch-input coordinates in thepresent embodiment) to a point beyond a region of a certain distance d1.The distance d1 is set to 20 dots, for example. When there is an inputbeyond the certain distance d1, it is interpreted that an input of adirection is made by the player or user.

If it is determined that the distance between the input coordinates andthe object generation coordinates exceeds a threshold value d1, as shownin FIG. 9, it is determined whether the input coordinates are within afirst effective range. Here, a horizontal direction on the displayscreen of the LCD 14 over which the touch panel 22 is placed is definedas an X-axis direction (the right direction on the screen is a positiveX-axis direction) and a vertical direction is defined as a Y-axisdirection (the downward direction on the screen is a positive Y-axisdirection). The first effective range includes a range extending by acertain distance d1 from the object generation coordinates in bothpositive and negative X-axis directions and extending by a certaindistance d1 from the object generation coordinates in both positive andnegative Y-axis directions. Furthermore, the first effective rangeincludes a range extending at an angle of θ with respect to the downwarddirection (positive Y-axis direction) from the object generationcoordinates to both the left and right sides of the downward direction.The angle θ is set to 45 degrees, for example. In the presentembodiment, when input coordinates which are continuously detectedduring a time period from when input coordinates go beyond the certaindistance d1 from the object generation coordinates until a touch-off isdetected are within the first effective range, it is interpreted that aninput in the predetermined direction (the downward direction in thepresent embodiment) is made. Note that an input made within a range, inthe first effective range, extending by the certain distance d1 from theobject generation coordinates in the upward direction corresponds to aninput on substantially the opposite side of an input in the downwarddirection which is required in the present embodiment. However, byproviding a range in the direction opposite to the input direction, thefirst effective range includes a region present in all directions fromthe object generation coordinates. By making a determination using sucha somewhat wide first effective range including a region in a directionother than the predetermined direction, shaking of the hand of the usercan be absorbed.

Finally, as shown in FIG. 10, when there is a touch-off, it isdetermined whether input coordinates immediately before the touch-offare within a second effective range. Specifically, it is determinedwhether the last one set of input coordinates detected continuouslyafter the object generation coordinates is within the second effectiverange. The second effective range includes a range of coordinatesextending by the certain distance d1 from the object generationcoordinates in both positive and negative X-axis directions andextending by the certain distance d1 in a positive Y-axis direction fromcoordinates displaced downward by a certain distance d2 from the objectgeneration coordinates. Furthermore, the second effective range includesa range extending at an angle of θ with respect to the downwarddirection (positive Y-axis direction) from the object generationcoordinates to both the left and right sides of the downward direction.Note, however, that a range extending by the certain distance d2 fromthe object generation coordinates in the positive Y-axis direction isexcluded. A condition necessary for the input direction to be consideredas the downward direction is that coordinates detected upon thetouch-off have moved by at least the certain distance d2 from thefirst-touch-input position (object generation coordinates) in thedownward direction. The certain distance d2 is set to 3 dots, forexample. Note that in order to ensure that an input is made in thepredetermined direction, the second effective range is, unlike the firsteffective range, present in only the predetermined direction. In thepresent embodiment, when input coordinates immediately before atouch-off are within the second effective range, it is interpreted thatan input in the predetermined direction (the downward direction in thepresent embodiment) is made.

In the present embodiment, in order to determine whether an input ismade in the downward direction which is the direction opposite to themoving direction (upward direction) of the bullet object 72, theaforementioned first and second effective ranges which extend in thedownward direction from the object generation coordinates are set.However, in another embodiment, when an input in another direction isrequired, first and second effective ranges which extend in that anotherdirection are set. For example, the first effective range is set toinclude a range extending at an angle of θ with respect to apredetermined direction from object generation coordinates. The secondeffective range is provided to include a range extending at an angle ofθ with respect to the predetermined direction from the object generationcoordinates, excluding a range extending by the certain distance d2 fromthe object generation coordinates in the predetermined direction.

As such, since an evaluation is made in two steps, the first effectiverange of FIG. 9 and the second effective range of FIG. 10, it ispossible to correctly determine whether an input in the predetermineddirection is made. The first effective range of FIG. 9 is a region fordetermining coordinates continuously detected during a time period fromwhen object generation coordinates are determined until there is atouch-off. When an input made outside of the first effective range isdetected, the generation of an object is canceled and the object iseliminated. In other words, it can be said that the first effect rangeis to define a range where a generated object is eliminated. The secondeffective range of FIG. 10 is a region for determining coordinatesdetected upon a touch-off (i.e., input coordinates immediately before atouch-off). If the input coordinates immediately before the touch-offare within the second effective range, the generated object is fired.That is, it can be said that the second effective range is to define arange where the object is fired.

In the present embodiment, as described above, at the time whencoordinates which are detected during continuous detection after theobject generation coordinates are no longer within the first effectiverange, it is immediately determined that an input in the predetermineddirection is not made. However, in another embodiment, even when, in theprocess of continuous detection, detected coordinates are no longerpresent in a predetermined direction range (first effective range) withthe predetermined direction being the center, if, for example,coordinates detected at the time of a touch-off are present in thepredetermined direction range (second effective range), it may bedetermined that an input in the predetermined direction is made.

In addition, in the present embodiment, by performing an operation suchthat a bullet object 72 is pulled down to back, the bullet object 72 isfired up to the front, and thus, an input in the direction opposite tothe moving direction of the bullet object 72 is required. In anotherembodiment, however, an input in the same direction as the movingdirection of the bullet object 72 may be required. In this case, a firsteffective range and a second effective range are set so as to includedirections within a range extending at an angle of a predetermined anglewith respect to the same direction as the object moving direction fromthe object generation coordinates. By performing an operation such thata bullet object 72 is pushed up to the front, the bullet object 72 isfired up to the front.

FIG. 11 shows an exemplary memory map of the RAM 48. The RAM 48 includesa program storage region 80 and a data storage region 82. Note that FIG.11 shows only part of the memory map, and various programs and datawhich are required to proceed a game and an application are storedtherein.

A touch input detection program storage region 84 stores a program fordetecting operation data (touch input data) from the touch panel 22.Touch input data is detected, for example, at certain time intervals(e.g., every display frame).

An enemy character display control program storage region 86 stores aprogram for controlling display of enemy characters 70. By this program,the movement, state, arrangement, and the like of the enemy characters70 are controlled. Control data which includes the position coordinatesin a game space, display position coordinates on the display screen,characteristics, and the like of the enemy characters 70 is alsocontrolled by this program. The enemy characters 70 are first displayedon the upper screen, as shown in FIG. 3, for example, and then repeatmovement in the horizontal direction and movement in the downwarddirection. If the endurance of an enemy character 70 becomes zero, theenemy character 70 is eliminated there. If the endurance of an enemycharacter 70 does not become zero and the enemy character 70 reaches thebottom of the lower screen, the enemy character 70 moves out of thescreen and is eliminated.

A bullet object display control program storage region 88 stores aprogram for controlling display of a bullet object 72. By this program,the generation, movement, state, and the like of the bullet object 72are controlled. For example, control data which includes the generationcoordinates, position coordinates in a game space, display positioncoordinates on the display screen, type, movement parameter, and thelike of the bullet object 72 is also controlled by this program. Thebullet object 72 is controlled as follows. The bullet object 72 isgenerated when the first condition is satisfied, as described above.When an input direction based on coordinates which are continuouslydetected after the first condition is satisfied satisfies thepredetermined condition, the position of the bullet object 72 thereafteris moved in the specific direction (upward direction). Here, thecoordinates which are continuously detected are meant to refer tocoordinates which are detected in a state in which, after the detectionof object generation coordinates, there is continuous detection, withoutgoing into a state in which there is no detection. Note that when,before a certain time period has elapsed after detection is over,detection occurs again, it can be considered to be continuous detection.If the bullet object 72 collides with an enemy characters 70 and theattack power of the bullet object 72 becomes zero, the bullet object 72is eliminated there. If the attack power does not become zero and thebullet object 72 reaches the top of the upper screen, the bullet object72 moves out of the screen and is eliminated. When the first conditionis further satisfied before the bullet object 72 is eliminated, anotherbullet object 72 which is different from the previously generated bulletobject 72 is generated in object generation coordinates determined forthat bullet object 72. When an input direction based on coordinateswhich are continuously detected after the detection of the objectgeneration coordinates satisfies the predetermined condition, the newbullet object 72 is moved in the specific direction.

A certain distance determination program storage region 90 stores aprogram for determining whether input coordinates are beyond the certaindistance region (FIG. 8) from generation coordinates of a bullet object72 (input coordinates upon the start of the touch).

A first effective range determination program storage region 92 stores aprogram for determining, when input coordinates are determined by thecertain distance determination program to be beyond the certain distancerange, whether the input coordinates are within the first effectiverange (see FIG. 9) which is set based on object generation coordinates.

A second effective range determination program storage region 94 storesa program for determining whether input coordinates immediately before atouch-off are within the second effective range (see FIG. 10) which isset based on object generation coordinates.

A bullet power-up processing program storage region 96 stores a programfor changing the type of bullet object 72. In the present embodiment,when a duration of a touch input made in the aforementioned certaindistance region exceeds a certain time period, the type of bullet object72 is changed, for example, from a normal state to a power-up state.Furthermore, according to the change of the type of bullet object 72,characteristics such as attack power and moving speed are also changed;for example, the attack power is increased and the moving speed isincreased. Alternatively, the configuration may be such that the longerthe input duration the greater the values of the attack power and movingspeed. Accordingly, when, for example, the touch input duration exceedsthe certain time period, upon collision with an enemy character 70, avalue to be subtracted from the endurance of the enemy character 70becomes large. Note that in the present embodiment when the touch inputduration exceeds the certain time period, the bullet object 72 powers upand its attack power, moving speed, etc., are increased; on the otherhand, in another embodiment, when the touch input duration exceeds thecertain time period, the bullet object 72 may, in contrast, power downand its attack power, moving speed etc., may be reduced. The movingspeed is one element of a parameter for controlling the movement of thebullet object 72. By the bullet power-up processing program, the bulletobject display control program, etc., the value of a parameter formovement of the bullet object 72 is controlled. The parameter mayinclude, in addition to the moving speed, a moving direction and amoving distance, for example. Based on the movement parameter, themovement of the bullet object 72 can be controlled.

A collision determination program storage region 98 stores a program fordetermining whether a bullet object 72 collides with an enemy character70. A determination for collision is made based on position data on thebullet object 72 and position data on the enemy character 70.

An enemy character image data storage region 100 stores image data fordisplaying enemy characters 70. A bullet object image data storageregion 102 stores image data for displaying a bullet object 72. In thebullet object image data storage region 102, image data for differenttypes (e.g., normal and power-up) of the bullet object 72 is stored. Atail image data storage region 104 stores image data for displaying atail 74 to be added to an image of a bullet object 72.

A touch input history storage region 106 stores data on a history oftouch input data which is detected by the touch input detection program.For example, data indicating whether there is a touch input in thecurrent and previous frames and data on detected coordinates are stored.

A first-touch-input coordinate storage region 108 stores data oncoordinates which are detected when a touch input starts. Alast-touch-input coordinate storage region 110 stores data oncoordinates which are last detected continuous touch input coordinates.A touch-on time storage region 112 stores data on time when a touchinput starts.

An enemy control data storage region 114 stores control data on eachenemy character 70. The control data includes, for example,characteristics data indicating endurance (physical strength), a type,etc., and position coordinate data. The endurance of an enemy character70 may vary with the type of enemy character 70 or may vary not with thetype but with individuals.

A bullet control data storage region 116 stores control data on a bulletobject 72. When a plurality of bullet objects 72 are generated, controldata is stored so as to be associated with each bullet object 72. Thecontrol data includes, for example, characteristics data indicating atype, an attack power, a moving speed, etc., position coordinate data,and generation coordinate data. In the present embodiment, for example,as shown in FIG. 12, bullet characteristics table data indicatingcharacteristics values such as an attack power and a moving speed isstored in advance in the ROM 28 a so as to be associated with the typeof bullet object 72. When the type of bullet object 72 is set to anormal state, a normal attack power and a normal moving speed are set.When the type of bullet object 72 is set to a power-up state, a highattack power and a high moving speed are set.

An exemplary operation of the game machine 10 according to the presentembodiment is shown in FIGS. 13 and 14. At S1 of FIG. 13, the CPU core42 displays enemy characters 70. Specifically, by using the GPU 50 or52, the CPU core 42 generates in the VRAM 56 or 58 data on a game screenwhich contains enemy characters 70, based on image data on the enemycharacters, enemy control data, and the like. Then, by using the LCDcontroller 60, the CPU core 42 displays the game screen which containsthe enemy characters 70 on the LCD 12. Note that at S1 the initial valueof enemy control data including the endurance data and positioncoordinate data on each enemy character 70 is read from the ROM 28 a andstored (set) in the enemy control data storage region 114.

Then, at S3, the CPU core 42 determines whether there is a touch input.For example, the CPU core 42 obtains operation data on the touch panel22 from a buffer in the I/F circuit 54 and detects whether there is dataindicating a touch-on state. Specifically, at this step, the CPU core 42determines whether there is a transition from a touch-off state (a statein which there is no input to the touch panel 22) to a touch-on state (astate in which there is an input to the touch panel 22). That is, adetermination is made for the first condition for generating a bulletobject 72 in the present embodiment. If the determination at S3 is “NO”,then the process returns to S1 and the CPU core 42 updates the displayof the enemy characters 70.

On the other hand, if the determination at S3 is “YES”, i.e., when thefirst condition is satisfied, then at S5 the CPU core 42 detects touchinput coordinates from the operation data on the touch panel 22 andstores the touch input coordinates in the touch input history storageregion 106. Note that in the touch input history storage region 106 notonly coordinate data but also data indicating a touch-on or a touch-offmay be stored.

At S7, the CPU core 42 stores the detected coordinates in thefirst-touch-input coordinate storage region 108. The input coordinatesdetected when the first condition is satisfied are determined to begeneration coordinates of the bullet object 72 and are also stored asthe object generation coordinates of the bullet object 72 in the bulletcontrol data storage region 116.

Furthermore, at S9, the CPU core 42 displays a bullet object 72 in theinput position (generation coordinates). Specifically, by using the GPU50 or 52, the CPU core 42 generates in the VRAM 56 or 58 data on a gamescreen which contains the bullet object 72, based on image data on thebullet object, bullet control data, and the like. Then, by using the LCDcontroller 60 and the like, the CPU core 42 displays the game screenwhich contains the bullet object 72 on the LCD 14. For an image of thebullet object 72, image data indicating a normal state is used.

At S11, the CPU core 42 obtains time information on when the firstcondition is satisfied from a timepiece IC (not shown) and stores thetime information in the touch-on time storage region 112.

Subsequently, at S13, the CPU core 42 determines whether the bulletobject 72 has come into contact with an enemy character 70 coming down,based on position data on the bullet object 72 and position data on theenemy character 70. If the determination at S13 is “YES”, then theprocess proceeds to S45 of FIG. 14 to eliminate the bullet object 72.

If the determination at S13 is “NO”, then at S15 the CPU core 42 obtainstouch input data from the buffer in the I/F circuit 54 and determineswhether the touch input is over. That is, the CPU core 42 detectswhether there is data indicating a touch-off state. If the determinationat S15 is “YES”, then the CPU core 42 considers that the firing of thebullet object 72 is canceled and thus the process proceeds to S45 ofFIG. 14.

If the determination at S15 is “NO”, i.e., when the touch inputcontinues, then at S17 the CPU core 42 detects, as in S5, touch inputcoordinates and stores the touch input coordinates in the touch inputhistory storage region 106.

Subsequently, at S19, the CPU core 42 calculates a distance between theinput coordinates detected in the current frame and the firstcoordinates stored in the first-touch-input coordinate storage region108. Then, at S21, the CPU core 42 determines whether the calculateddistance exceeds a certain distance. That is, the CPU core 42 determineswhether a touch is made outside the certain distance range (FIG. 8) fromthe input coordinates (object generation coordinates) detected upon thetouch-on.

If the determination at S21 is “NO”, i.e., when a touch is continuouslymade within the certain distance range from the coordinates detectedwhen the touch input starts, then at S23 the CPU core 42 measures aninput duration based on the time when the input starts, which is storedin the touch-on time storage region 112, and the current time obtainedfrom the timepiece IC. Then, at S25, the CPU core 42 determines whetherthe input duration exceeds a certain time period, i.e., whether thecertain time period has elapsed. If the determination at S25 is “NO”,then the process returns to S13.

If the determination at S25 is “YES”, i.e., a touch is continuously madeover the certain time period within the certain distance range from theobject generation coordinates, then at S27 the CPU core 42 changes thetype of the bullet object 72. Specifically, the CPU core 42 updates typedata contained in the bullet control data on the bullet object 72 fromdata indicating normal to data indicating power-up. By this, attackpower data on the bullet object 72 is changed from its normal value to ahigh value and moving speed data is changed from its normal value to ahigh value. Thus, since the longer the time for which the detectedcoordinates have been continuously present within the certain distanceregion from the object generation coordinates, the higher the attackpower is made, the value to be subtracted from the endurance of acollided enemy character 70 becomes large. Furthermore, the image of thebullet object 72 is changed from a normal-state image to a power-upstate image and a game screen which displays the bullet object 72 beingin the power-up state in the object generation coordinates is generatedand displayed on the LCD 14. When S27 is completed, the process returnsto S13.

On the other hand, if the determination at S21 is “YES”, i.e., the touchinput position moves outside of the certain distance range from theobject generation coordinates, then the process proceeds to S29 of FIG.14.

In the present embodiment, a determination as to whether an inputdirection which is determined based on input coordinates detected upon atouch-on and coordinates continuously detected after the detection ofthe input coordinates is a predetermined direction (downward direction)is made at this S21 and the steps S29 and S41 which will be describedlater.

At S29 of FIG. 14, the CPU core 42 determines whether the inputcoordinates detected when the input position goes outside of the certaindistance range are within the first effective range. The first effectiverange is, as described above, a region such as the one shown in FIG. 9which is calculated based on the input coordinates detected when thetouch input starts and the constants d1 and θ. In the presentembodiment, the first effective range is defined to enable detection ofan attempt to input in the downward direction. If the determination atS29 is “NO”, then the CPU core 42 considers that the input is not madein the downward direction and thus the process proceeds to S45.

If the determination at S29 is “YES”, i.e., an attempt to input in thedownward direction is detected, then at S31 the CPU core 42 displays,using the GPU 50 or 52 and the LCD controller 60 and the like, an imageof a tail 74 on the LCD 14 so as to be adjacent to the bullet object 72.Note that the tail 74 is displayed such that its end is positioned inthe current input coordinates.

At S33, the CPU core 42 determines, as in the aforementioned S13,whether the bullet object 72 has come into contact with an enemycharacter 70 coming down. If the determination at S33 is “YES”, then theprocess proceeds to the S45.

If the determination at S33 is “NO”, then at S35 the CPU core 42determines, as in the aforementioned S15, whether the touch input isover. If the determination at S35 is “NO”, i.e., the touch inputcontinues, then at S37 the CPU core 42 detects, as in the aforementionedS5, touch input coordinates and stores the touch input coordinates inthe touch input history storage region 106. When S37 is completed, theprocess returns to S29. In this manner, until the touch input is over,the CPU core 42 detects whether the input within the first effectiverange which is considered to be an input in the downward directioncontinues. When there is an input outside of the first effective range,i.e., when it can be considered that an input in the downward directionis not made, the firing of the bullet object 72 is canceled.

On the other hand, if the determination at S35 is “YES”, i.e., atouch-off operation is detected, then at S39 the CPU core 42 stores inthe last-touch-input coordinate storage region 110 touch inputcoordinates detected immediately before the touch-off which are storedin the touch input history storage region 106.

Then, at S41, the CPU core 42 determines whether the input coordinatesdetected immediately before the touch-off, i.e., the last-touch-inputcoordinates, are within the second effective range. The second effectiverange is, as described above, a region such as the one shown in FIG. 10which is calculated based on the input coordinates detected when thetouch input starts and the constants d1, d2 and θ. In the presentembodiment, the second effective range is defined to enable detection ofcompletion of the input in the downward direction.

If the determination at S41 is “YES”, i.e., it is determined that aninput in the downward direction is made, then at S43 the CPU core 42starts a bullet object movement process. The CPU core 42 performs thebullet object movement process in parallel with other processes (FIGS.13 and 14, etc.). By the bullet object movement process, a game processsuch as movement of the bullet object 72 and collision with an enemycharacter 70 is performed. As such, processes, such as the detection ofa touch input, the generation of a bullet object 72, and thedetermination of an input direction, and a bullet object movementprocess are performed in parallel. A bullet object movement process isperformed for each generated bullet object 72 and a plurality of bulletobject movement processes can be performed in parallel. Therefore, when,while a previously generated bullet object 72 is being moved by a bulletobject movement process for the previously generated bullet object 72, atouch-on is detected, another bullet object 72 is generated.Furthermore, when a firing condition is satisfied, a bullet objectmovement process for the new bullet object 72 is performed. An exemplaryoperation of the bullet object process will be described in detail inFIG. 15 which will be described later.

If the determination at S41 is “NO”, i.e., a touch-off operation isperformed outside the second effective range, then the CPU core 42considers that an input in the downward direction is not made, and thus,the process proceeds to S45. At S45, the CPU core 42 eliminates thebullet object 72 from the game screen. Specifically, for example, theCPU core 42 clears control data on the bullet object 72 which is storedin the bullet control data storage region 116. In addition, the CPU core42 generates, using the GPU 50 or 52, a game screen in which the bulletobject 72 and the tail 74 are not present and then displays the gamescreen on the LCD 14 by using the LCD controller 60 and the like.

When a movement process is started at S43 or S45 is completed, the CPUcore 42 determines at S47 whether the game is over. If the determinationat S47 is “NO”, then the process returns to S1 of FIG. 13 and theprocess of the game continues. Hence, when, before a previouslygenerated bullet object 72 is eliminated, a touch input is started againand a direction that satisfies the predetermined condition is inputted,another bullet object 72 which is different from the previouslygenerated bullet object 72 is generated and moved in the specificdirection. On the other hand, if the determination at S47 is “YES”, thenthe CPU core 42 ends the game process.

FIG. 15 shows an exemplary operation of the bullet object movementprocess which is started at S43 of FIG. 14. At a first S61 of FIG. 15,the CPU core 42 moves the bullet object 72 in a specific direction. Inthe present embodiment, the specific direction is fixed to the upwarddirection which is the direction opposite to the downward directionwhich is the input direction. For example, the CPU core 42 calculatesposition coordinates after the movement of the bullet object 72(position coordinates after a lapse of a certain time period (oneframe)) based on position coordinates and a moving speed which arestored in the bullet control data storage region 116.

Then, at S63, the CPU core 42 determines whether the position aftermovement is outside of a display area of the display screen. If thedetermination at S63 is “YES”, then the process proceeds to S77.

If the determination at S63 is “NO”, then at S65 the CPU core 42displays the bullet object 72 at the position after movement. Forexample, the CPU core 42 updates position data on the bullet object 72stored in the bullet control data storage region 116 to the positioncoordinates after movement which are calculated at S61. Then, the CPUcore 42 generates data on a game screen which displays the bullet object72 at the position after movement and then displays the game screen onthe LCD 12 or 14.

Subsequently, at S67, the CPU core 42 determines whether the bulletobject 72 collides with an enemy character 70, based on position data onthe bullet object 72 and position data on the enemy character 70. Forexample, the CPU core 42 determines whether the distance between thebullet object 72 and each enemy character 70 is less than or equal to athreshold value, or determines whether the position coordinates of thebullet object 72 are contained in a display area of any of the enemycharacters 70. If the determination at S67 is “NO”, then the processreturns to S61.

On the other hand, if the determination at S67 is “YES”, then at S69 theCPU core 42 determines whether the attack power of the bullet object 72is lower than or equal to the endurance of an enemy character 70 to becollided, based on attack power data on the bullet object 72 andendurance data on the enemy character 70 to be collided.

If the determination at S69 is “NO”, i.e., the attack power of thebullet object 72 exceeds the endurance of the enemy character 70 to becollided, then at S71 the CPU core 42 eliminates the enemy character 70to be collided. For example, the CPU core 42 clears control data on theenemy character 70 to be collided which is stored in the enemy controldata storage region 114. In addition, the CPU core 42 generates data ona game screen in which the enemy character 70 explodes and is gone andthen displays the game screen on the LCD 12 or 14.

At S73, the CPU core 42 subtracts the endurance of the collided enemycharacter 70 from the attack power of the bullet object 72 and updatesthe attack power data on the bullet object 72 to the calculated value.When S73 is completed, the process returns to S61.

On the other hand, if the determination at S69 is “YES”, i.e., theendurance of the enemy character 70 to be collided exceeds the attackpower of the bullet object 72, then at S75 the CPU core 42 subtracts theattack power of the bullet object 72 from the endurance of the enemycharacter 70 and updates the endurance data on the enemy character 70 tothe calculated value.

Then, at S77, the CPU core 42 eliminates, as in the aforementioned S45,the bullet object 72 outside of the display screen or at a location ofthe collision. When S77 is completed, the CPU core 42 ends the bulletobject movement process.

According to the present embodiment, in response to start of a touchinput, a bullet object 72 is generated in the input start position, andfurthermore, when continuously detected inputs are determined to beinputs in a first predetermined direction (e.g., the downwarddirection), the bullet object 72 is moved in a specific direction (e.g.,the direction opposite to the first direction). As such, by such asimple operation as performing a series of continuous inputs from atouch-on to a touch-off, a bullet object 72 can be generated in anarbitrary position and the bullet object 72 can be moved in the specificdirection with the generation position being a starting point. Hence,for example, the strategic characteristics of a shooting game can beimproved. Furthermore, by a simple, intuitive operation, multiple bulletobjects 72 can be continuously generated and moved and thus a feeling ofexhilaration can be obtained, providing a game that even beginners caneasily enjoy.

In the aforementioned embodiment, when it is determined at S21 thatcoordinates which are continuously detected after the object generationcoordinates are outside of the predetermined distance range from theobject generation coordinates, then at S43, a bullet object movementprocess starts. When it is determined at S29 that the coordinates whichare continuously detected after the object generation coordinates arewithin the first effective range, i.e., when the movement direction ofthe continuously detected coordinates is the predetermined directionwith respect to the object generation coordinates, then at S43, a bulletobject movement process starts. That is, under condition thatcoordinates which are detected during continuous detection after theobject generation coordinates are determined to satisfy a predeterminedcondition (third condition), movement control of a bullet object 72 isperformed. However, the predetermined condition (third condition) may beappropriately changed. For example, the third condition may be that theamount of change in continuously detected coordinates is less (orgreater) than a threshold value (i.e., the movement speed of inputcoordinates is lower or higher than a predetermined threshold value), orthat continuously detected coordinates do not change for a predeterminedtime period (i.e., input coordinates have stopped for a predeterminedtime period).

In addition, in the aforementioned embodiment, when it is determined atS15 that detection is over, before determined at S21 that coordinateswhich are continuously detected after the object generation coordinatesare outside of the predetermined distance range from the objectgeneration coordinates, movement control of a generated bullet object 72is canceled and the bullet object 72 is eliminated at S45. When it isdetermined at S29 that coordinates which are continuously detected afterthe object generation coordinates are outside of a predetermined region(first effective range), or when it is determined at S41 that the lastset of continuously detected coordinates are outside of a predeterminedregion (second effective range), i.e., when it is determined that themovement direction of the continuously detected coordinates is notwithin a range, for example, where the movement direction is consideredto be the predetermined direction with respect to the object generationcoordinates, a generated bullet object 72 is eliminated at S45 so thatthe bullet object 72 cannot be moved. As such, when coordinates whichare detected during continuous detection after the object generationcoordinates are determined to satisfy a predetermined condition (fourthcondition), a bullet object 72 is eliminated. However, the predeterminedcondition (fourth condition) may be appropriately changed. For example,the fourth condition may be that before the second condition issatisfied and the movement of an object starts, detection is over.Alternatively, the fourth condition may be that the changing amount incontinuously detected coordinates is less (or greater) than a thresholdvalue, or that continuously detected coordinates do not change for apredetermined time period.

Furthermore, in the aforementioned embodiment, when the predetermineddirection that satisfies the predetermined condition is inputted, abullet object 72 is moved in the specific direction. However, as inanother embodiment which will be described next, a moving direction maybe determined based on an input direction and a bullet object 72 may bemoved in the moving direction.

FIG. 16 shows an exemplary memory map according to another embodiment. Aprogram storage region 80 includes a touch input detection programstorage region 84, an enemy character display control program storageregion 86, a bullet object display control program storage region 88, acertain distance determination program storage region 90, an inputdirection determination program storage region 118, a bullet movingdirection determination program storage region 120, a collisiondetermination program storage region 98, and etc. A data storage region82 includes an enemy character image data storage region 100, a bulletobject image data storage region 102, a tail image data storage region104, a touch input history storage region 106, a first-touch-inputcoordinate storage region 108, a last-touch-input coordinate storageregion 110, an enemy control data storage region 114, a bullet controldata storage region 116, and etc. Note that the description of partsoverlapping with those in the aforementioned embodiment (FIG. 11) isomitted here.

The input direction determination program storage region 118 stores aprogram for determining or detecting a direction inputted. The inputdirection is determined based on at least one set of coordinates whichare continuously detected after the object generation coordinates andthe object generation coordinates. The object generation coordinatesare, as in the aforementioned embodiment, input coordinates to bedetected when the first condition is determined to be satisfied, i.e.,in the present embodiment, input coordinates detected when a touch inputstarts. The input direction is specifically determined based oncoordinates detected during a time period from when the first conditionis determined to be satisfied until the second condition is determinedto be satisfied. In the present embodiment, a direction that connectsobject generation coordinates with coordinates which are detected wheninput coordinates continuously detected after the detection of theobject generation coordinates are determined to satisfy the secondcondition is determined to be an input direction. For example, thesecond condition is that a touch-off state occurs after coordinates areinputted outside of a certain distance range from the object generationcoordinates. Thus, in the present embodiment, a direction that connectsinput coordinates detected upon a touch-on with input coordinatesdetected immediately before a touch-off is an input direction.

The moving direction determination program storage region 120 stores aprogram for determining a moving direction of a bullet object 72 basedon an input direction. In the present embodiment, the reversed directionof an input direction is set to a moving direction. Note that the movingdirection based on an input direction is not limited to the oppositedirection; for example, the moving direction may be a direction rotatedby a predetermined angle.

As such, since the moving direction is not a fixed direction but isdetermined based on an input direction, the moving direction can varybetween bullet objects 72. Therefore, in the bullet control data storageregion 116, data on a moving direction determined by the movingdirection determination program is stored for each bullet object 72along with position data, generation coordinate data, etc.

The bullet object display control program controls the movement of abullet object 72 based on the moving direction determined for eachbullet object 72 and updates control data on the position coordinates,etc., of the bullet object 72. A bullet object 72 is moved, for example,in a moving direction obtained when the aforementioned second conditionis determined to be satisfied. As in the aforementioned embodiment,when, before a previously generated bullet object 72 is eliminated, thefirst and second conditions are satisfied again, another bullet object72 is generated and moved. Thus, a plurality of bullet objects 72 can besimultaneously displayed on a game screen and the bullet objects 72 canbe generated in different generation coordinates and moved in differentdirections.

FIG. 17 shows an exemplary operation of a game machine 10 according toanother embodiment. Note that in FIG. 17 the same or similar processingsteps are denoted by the same or similar reference numerals as those inthe aforementioned embodiment of FIGS. 13 and 14. Here, a detaileddescription of each is omitted and the flow of an operation differingfrom that in the aforementioned embodiment is simply described.

At S1 of FIG. 17, the CPU core 42 displays enemy characters 70 on, forexample, the LCD 12. Note that in this another embodiment the enemycharacters 70 move only in the horizontal direction and do not come downin the downward direction. Then, at S3, the CPU core 42 determines basedon operation data on the touch panel 22 whether there is a touch input.If the determination at S3 is “NO”, then the process returns to S1.

If the determination at S3 is “YES”, i.e., a touch input has started,then at S5 the CPU core 42 detects touch input coordinates from theoperation data and stores the input coordinates in the touch inputhistory storage region 106. Then, at S7, the CPU core 42 stores theinput coordinates in the first-touch-input coordinate storage region108. At S9, the CPU core 42 displays on the LCD 14 a game screen inwhich a bullet object 72 is arranged in an input position.

Subsequently, at S15, the CPU core 42 determines whether the touch inputis over. If the determination at S15 is “YES”, then the CPU core 42considers that the input is canceled and thus eliminates the bulletobject 72 at S45, whereby the process proceeds to S47.

On the other hand, if the determination at S15 is “NO”, then the CPUcore 42 detects touch input coordinates at S17, calculates, at S19, adistance between the current input coordinates and the first-touch-inputcoordinates, and determines, at S21, whether the distance exceeds acertain distance. If the determination at S21 is “NO”, then the processreturns to S15.

Note that in the present embodiment, an example case is described inwhich the type of bullet object 72 is fixed; however, in a variant, forexample, as in the aforementioned steps S23 to S27 of FIG. 13,characteristics of a bullet object 72 such as type, attack power, andmoving speed may be changed according to an input duration.

If the determination at S21 is “YES”, then the CPU core 42 considersthat an input of a direction is made and thus displays, at S31, an imageof a tail 74 in adjacent to the bullet object 72 to express that thebullet object 72 is ready to be fired. Then, at S35, the CPU core 42determines whether the touch input is over. If the determination at S35is “NO”, then the process returns to S31.

On the other hand, if the determination at S35 is “YES”, i.e., atransition to a touch-off state occurs, then at S39 the CPU core 42reads input coordinates detected immediately before the touch-off fromthe touch input history storage region 106 and stores the inputcoordinates in the last-touch-input coordinate storage region 110. Then,at S43, the CPU core 42 starts a bullet object movement process. Theoperation of the bullet object movement process according to thisanother embodiment will be described in detail in FIG. 18 which will bedescribed later. When the bullet object movement process starts, theprocess proceeds to S47.

At S47, the CPU core 42 determines whether the game is over. If thedetermination at S47 is “NO”, then the process returns to S1. If thedetermination at S47 is “YES”, then the CPU core 42 ends the gameprocess.

FIG. 18 shows an exemplary operation of the bullet object movementprocess which starts at S43 of FIG. 17. At a first S91 of FIG. 18, theCPU core 42 calculates a touch input direction based on the coordinatesstored in the first-touch-input coordinate storage region 108 and thecoordinates stored in the last-touch-input coordinate storage region110. In the present embodiment, the calculated input direction is adirection that connects the first-touch-input coordinates with thelast-touch-input coordinates.

Then, at S93, the CPU core 42 calculates the direction opposite to theinput direction, determines the calculated direction as the movingdirection of the bullet object 72, and stores, as moving direction dataon the bullet object 72, the calculated direction in the bullet controldata storage region 116.

Subsequently, at S95, the CPU core 42 moves the bullet object 72 in themoving direction. Specifically, the CPU core 42 calculates positioncoordinates after movement (position coordinates after one frame haselapsed), based on position coordinates, moving direction, and movingspeed of the bullet object 72 which are stored in the bullet controldata storage region 116.

Then, at S97, the CPU core 42 determines whether the position aftermovement is outside of a display area. If the determination at S97 is“NO”, then at S99 the CPU core 42 displays, as in the aforementionedS65, the bullet object 72 at the position after movement. Subsequently,at S101, the CPU core 42 determines, as in the aforementioned S67,whether the bullet object 72 collides with an enemy character 70. If thedetermination at S101 is “NO”, then the process returns to S95.

On the other hand, if the determination at S101 is “YES”, then at S103the CPU core 42 eliminates, as in the aforementioned S77, the bulletobject 72 at a position where the collision with the enemy character 70has occurred. Note that in this another embodiment it is premised thatthe attack power of the bullet object 72 is lower than or equal to theendurance of an enemy character 70, and thus when the bullet object 72collides with an enemy character 70, the bullet object is alwayseliminated.

Subsequently, at S105, the CPU core 42 subtracts the attack power of thebullet object 72 from the endurance of the enemy character 70 to becollided and updates endurance data on the enemy character 70 to thecalculated value.

At S107, the CPU core 42 determines whether the endurance of the enemyis zero. If the determination at S107 is “YES”, then at S109 the CPUcore 42 eliminates, as in the aforementioned S71, the enemy character 70to be collided.

On the other hand, if the determination at S97 is “YES”, i.e., thebullet object 72 is moved out of the display area without colliding withan enemy character 70, then at S111 the CPU core 42 eliminates, as inthe aforementioned S77, the bullet object 72. When S109 or S111 iscompleted or when the determination at S107 is “NO”, then the CPU core42 ends the bullet object movement process.

According to the present embodiment, a bullet object 72 is generated ina start position of a touch input, an input direction is determinedbased on the object generation coordinates and coordinates continuouslydetected after the object generation coordinates, a moving direction ofthe bullet object 72 is determined based on the input direction, and thebullet object 72 is moved in the moving direction. As such, by a simpleoperation, a bullet object 72 can be generated in an arbitrary positionand the bullet object 72 can be moved in an arbitrary direction with theposition of the bullet object 72 being a starting point. Therefore, asin the aforementioned embodiment, the strategic characteristics of ashooting game or the like can be improved. Furthermore, by a simple,intuitive operation, multiple bullet objects 72 can be continuouslygenerated and moved in desired directions, and thus a feeling ofexhilaration can be obtained, providing a game that even beginners caneasily enjoy.

Note that although in the aforementioned embodiments the first condition(condition for generating an object) is that there is a transition froma touch-off state to a touch-on state, in another embodiment the firstcondition may be that there is a transition from a touch-off state to atouch-on state and input coordinates detected upon the touch-on arewithin a specific region. Specifically, for example, as shown in FIG.19, after the CPU core 42 detects, at S5, input coordinates upon thestart of a touch input, the CPU core 42 determines, at S121, whether theinput coordinates are within a specific region. Here, the specificregion is a region where a bullet object 72 can be generated. Forexample, the specific region is not a region for displaying the score,map, etc., of the player but a region for displaying a game space or agame world. If the determination at S121 is “NO”, then the CPU core 42does not generate an object in response to the touch input and theprocess returns to S1. If the determination at S121 is “YES”, then theprocess proceeds to S7, as in the embodiment of FIG. 13.

In the aforementioned embodiments, as shown in FIG. 13, a time duringwhich input coordinates detected after determined that the firstcondition is satisfied are continuously present within the predeterminedregion (certain distance range) from object generation coordinates ismeasured, and the characteristics, such as type, attack power, andmoving speed of a bullet object 72 are set or changed according to themeasured time. However, the characteristics such as type of a generatedbullet object 72 may be set or changed according to input coordinatesdetected when the first condition is determined to be satisfied, i.e.,object generation coordinates. For example, when the object generationcoordinates are present on the upper side of the lower screen, theattack power and the moving speed may be set to lower values than thosefor a normal state, and when the object generation coordinates arepresent on the lower side of the lower screen, the attack power and themoving speed may be set to values for a power-up state. Specifically,for example, as shown in FIG. 20, when the CPU core 42 stores, at S7,the first-touch-input coordinates, the CPU core 42 then, at S131, setsthe type of a bullet object 72 according to the first-touch-inputcoordinates. That is, characteristic data, such as type data, attackpower data, and moving speed data, on the bullet object 72 which isstored in the bullet control data storage region 116 is set or changedto a value according to the object generation coordinates. Hence, sinceaccording to a value of object generation coordinates the attack powerof the object is changed to a higher or lower level, a value to besubtracted from endurance which is indicated by endurance data on acollided enemy character 70 is changed to a larger or smaller value.When S131 is completed, then the process proceeds to S9, whereby animage of the bullet object 72 according to the set type is displayed.

The characteristics, such as type, of a bullet object 72 may be set orchanged according to a distance between object generation coordinatesand coordinates detected when the second condition is determined to besatisfied. Specifically, for example, as show in FIG. 21, when the CPUcore 42 determines at S41 that input coordinates detected immediatelybefore a touch-off are within the second effective range, then the CPUcore 42 calculates, at S141, a distance between the first-touch-inputcoordinates and the last-touch-input coordinates. Then, at S143, the CPUcore 42 sets the type of a bullet object 72 according to the calculateddistance and sets characteristic data, such as type data, attack powerdata, and moving speed data, on the bullet object 72 which is stored inthe bullet control data storage region 116, to a value according to thedistance. For example, when the distance is greater than or equal to afirst predetermined threshold value, the attack power and the movingspeed may be set to values for a power-up state, and when the distanceis less than a second predetermined threshold value, the attack powerand the moving speed may be set to values lower than those for a normalstate. When S143 is completed, the process proceeds to S43. Hence, sincethe greater the distance from object generation coordinates the greaterthe attack power, a value to be subtracted from the endurance of acollided enemy character 70 becomes large. Note that in anotherembodiment the configuration may be such that the greater the distancefrom object generation coordinates the lower the power of a bulletobject 72 so that the attack power and moving speed of the bullet object72 are reduced.

In the aforementioned embodiments, when it is determined that the firstcondition is satisfied, a bullet object 72 is generated and displayed.However, in another embodiment, when it is determined that the condition(first condition) for generating a bullet object 72 is satisfied and thecondition (second condition) for causing the bullet object 72 to move issatisfied, then the bullet object 72 may be generated and displayed inobject generation coordinates and the bullet object 72 may be moved inthe specific direction or a direction based on an input direction.

An exemplary operation according to this another embodiment is shown inFIGS. 22 and 23. Note that in FIGS. 22 and 23 the same or similarprocessing steps are denoted by the same or similar reference numeralsas those in the aforementioned embodiment of FIGS. 13 and 14. Here, adetailed description of duplicate steps is omitted and part of the flowof an operation which is different from the aforementioned embodiment interms of the generation and display timing of a bullet object 72 issimply described. At S7 of FIG. 22, the CPU core 42 stores thefirst-touch-input coordinates and then stores, at S11, a touch-on time.That is, even when object generation coordinates are determined, the CPUcore 42 does not display a bullet object 72 at this timing. Thereafter,when it is determined at S41 of FIG. 23 that input coordinates detectedimmediately before a touch-off are within the second effective range,then the CPU core 42 displays, at S9, a bullet object 72 in thecoordinates stored in the first-touch-input coordinate storage region108. Then, at S31, the CPU core 42 displays an image of a tail 74. Notethat an end position of the tail 74 may be set, for example, to theobject generation coordinates or a little bit below the objectgeneration coordinates. The CPU core 42 starts, at S43, a bullet objectmovement process and thus the bullet object 72 is moved in the specificdirection or a direction based on an input direction.

In the aforementioned embodiments, the condition (first condition) forgenerating a bullet object 72 is that there is a transition from atouch-off state to a touch-on state. In another embodiment, however, thefirst condition may be that continuous touch input coordinates(coordinates to be detected when a touch-on continues) satisfy apredetermined condition. In this case, object generation coordinates canbe determined while an input position is moved by sliding.

For example, in still another embodiment shown in FIG. 24, the firstcondition is that continuous touch input coordinates have stopped for acertain time period. When it is determined that the coordinates havestopped for the certain time period, then coordinates detected at thattime are determined to be object generation coordinates. Specifically,as shown in FIG. 24, the CPU core 42 displays, at S1, enemy characters70 on the LCD 12 and determines, at S3, whether there is a touch input.If the determination at S3 is “NO”, then the process returns to S1. Ifthe determination at S3 is “YES”, then at S5 the CPU core 42 detectstouch input coordinates and stores the input coordinates in the touchinput history storage region 106.

Subsequently, at S151, the CPU core 42 calculates a distance betweeninput coordinates previously detected when there is a continuous touchinput and the currently detected input coordinates. Then, at S153, theCPU core 42 determines whether the calculated distance is less than orequal to a predetermined threshold value. The predetermined thresholdvalue is set in advance to a value (the order of several dots) accordingto which an input position is considered to have stopped. If thedetermination at S153 is “NO”, i.e., the input position is being moved,then the process returns to S3.

On the other hand, if the determination at S153 is “YES”, i.e., theinput position has stopped, then at S155 the CPU core 42 measures a stopduration. For example, the time at which the input position has startedto stop is stored in the data storage region 82 and a stop duration iscalculated based on the current time and the time at which the inputposition has started to stop. Then, at S157, the CPU core 42 determineswhether the stop duration exceeds a certain time period. If thedetermination at S157 is “NO”, then the process returns to S3.

If the determination at S157 is “YES”, i.e., the input position hasstopped for the certain time period, then at S7 the CPU core 42 stores,as object generation coordinates, the input coordinates detected at theS5 in the first-touch-input coordinate storage region 108. Then, at S9,the CPU core 42 displays a bullet object 72 in the detected inputposition.

In the embodiment of FIG. 24, the first condition is that when a touchinput detection continues, the amount of change in detected coordinatesis less than a threshold value and such a change continues for thecertain time period. In another embodiment, however, the first conditionmay be that when a touch input continues, the amount of change indetected coordinates is greater than a threshold value and such a changecontinues for a certain time period. Alternatively, the first conditionmay be that when a touch input detection continues, detected coordinatesdo not change for a predetermined time period.

For example, in another embodiment shown in FIG. 25, the first conditionis that the sliding speed (movement input speed) of a continuous touchinput is lower than or equal to a certain speed. When the speed of asliding input is higher than the certain speed, it is considered thatthe player is still unable to determine a position where a bullet object72 is to be generated. When the speed of a sliding input is lower thanor equal to the certain speed, coordinates detected at that time aredetermined to be object generation coordinates. Specifically, as shownin FIG. 25, the CPU core 42 detects, at S5, touch input coordinates andthen, at S171, calculates the sliding speed of the input. For example,since the touch input is detected at certain time intervals, in the casein which the touch input continues, a distance between previouslydetected coordinates and the currently detected coordinates iscalculated and the calculated distance may be considered to be a speed.Then, at S173, the CPU core 42 determines whether the calculated speedis lower than or equal to a predetermined threshold value. If thedetermination at S173 is “NO”, then the process returns to S3.

On the other hand, if the determination at S173 is “YES”, i.e., thespeed of the sliding input is lower than or equal to the certain speed,then at S7 the CPU core 42 stores, as object generation coordinates, theinput coordinates detected at S5 in the first-touch-input coordinatestorage region 108. Then, at S9, the CPU core 42 displays a bulletobject 72 in the object generation coordinates.

In the aforementioned embodiments, when both of the object generationcondition (first condition) and the object movement condition (secondcondition) are satisfied, a bullet object 72 is generated and moved.However, in another embodiment, when, during a time period from when theobject generation condition is satisfied until the object movementcondition is satisfied, the object generation condition is furthersatisfied, a second bullet object 72, which is different from a firstbullet object 72 generated in coordinates which are detected when theobject generation condition which is the first one is satisfied, may begenerated in coordinates which are detected when the object generationcondition which is the second one is satisfied. In this case, aplurality of objects 72 can be generated one after another and then theplurality of objects 72 can be moved.

For example, in an embodiment shown in FIGS. 26 and 27, the firstcondition is that, as in the embodiment of FIG. 25, the movement speedof a continuous touch input is lower than or equal to a certain value.The second condition is that input coordinates are moved by a certaindistance from object generation coordinates and then a transition to atouch-off state occurs. Note that, in the present embodiment too, thesame or similar processing steps are denoted by the same or similarreference numerals as those in the aforementioned embodiments and adetailed description of duplicate steps is omitted.

The CPU core 42 detects, at S5 of FIG. 26, touch input coordinates andthen, at S171, calculates the sliding speed of the input. The CPU core42 determines, at S173, whether the calculated speed is lower than orequal to a predetermined threshold value. If the determination at S173is “NO”, then the process proceeds to S35.

On the other hand, if the determination at S173 is “YES”, i.e., theobject generation condition is satisfied, then at S181 the CPU core 42stores the input coordinates detected at S5 in the bullet control datastorage region 116, as object generation coordinates of a bullet object72 to be generated. Then, at S9, the CPU core 42 displays a bulletobject 72 in the generation coordinates.

The CPU core 42, at S15, determines whether the touch input is over. Ifthe determination at S15 is “NO”, i.e., the touch input continues, thenat S17 the CPU core 42 detects touch input coordinates. Then, at S183,the CPU core 42 calculates a distance between the object generationcoordinates detected immediately before and the detected coordinates. AtS185, the CPU core 42 determines whether the calculated distance exceedsa certain distance. If the determination at S185 is “NO”, then theprocess returns to S15.

On the other hand, if the determination at S185 is “YES”, then at S187the CPU core 42 sets data (contained in bullet control data) whichindicates whether firing is enable, on the bullet object 72 justgenerated, to firing.

Subsequently, at S35, the CPU core 42 determines whether the touch inputis over. If the determination at S35 is “NO”, i.e., the touch inputcontinues, then the process returns to S5. Thus, when the sliding speedbecomes lower than or equal to the certain speed again, another bulletobject 72 is generated in detected coordinates.

On the other hand, if the determination at S35 is “YES” or if thedetermination at S15 is “YES”, then the process proceeds to a subsequentS189 of FIG. 27.

At S189 of FIG. 27, the CPU core 42 determines whether there is anybullet object 72 that can be fired, based on, for example, data which iscontained in bullet control data on each bullet object 72 and whichindicates whether firing is enabled. If the determination at S189 is“YES”, i.e., the object movement condition is satisfied, then at S39 theCPU core 42 stores coordinates detected at that time in thelast-touch-input coordinate storage region 110. Then, at S43, the CPUcore 42 starts a bullet object movement process and the process proceedsto S47. In the bullet object movement process, the moving direction ofthe bullet object 72 may be the specific direction, as in the case ofFIG. 15, or may be a direction based on an input direction, as in thecase of FIG. 18.

On the other hand, if the determination at S189 is “NO”, i.e., themovement condition is not satisfied, then at S45 the CPU core 42eliminates the bullet object 72. Note that when a bullet object 72 isnot generated, then the process proceeds to S47.

At S47, the CPU core 42 determines whether the game is over. If thedetermination at S47 is “NO”, then the process returns to S1, and whenthe determination at S47 is “YES”, then the CPU core 42 ends the gameprocess.

Although the aforementioned embodiments describe the informationprocessing apparatus 10 in which a shooting game in which a bulletobject 72 is generated and moved to attack an enemy character 70 isperformed, the type of game or application to be executed by theinformation processing apparatus 10 can be appropriately changed.

In addition, in the aforementioned embodiments, coordinates are inputtedon the touch panel 22 provided on the screen of the LCD 14. However,such an input can be any devices as long as the devices can instruct aposition (coordinates) on the screen; therefore, in another embodiment,for example, other pointing devices such as a trackpad and a tablet maybe used. In the case of using a mouse, by displaying the mouse pointeron the display screen, an input position is specified. A state in whicha mouse button is being pressed is considered to be a touch-on state,and a state in which the mouse button is released is considered to be atouch-off state. By this, a determination as to whether there is aninput can be made by a pointing device.

Although in the aforementioned embodiments the first LCD 12 and thesecond LCD 14 are arranged vertically, the arrangement of the two LCDscan be appropriately changed. For example, in a game machine 10according to another embodiment, a first LCD 12 and a second LCD 14 maybe arranged horizontally.

In addition, although in the aforementioned embodiments two LCDs whichdisplay two game screens, respectively, are provided, the number of LCDsas a display can be appropriately changed. For example, in a gamemachine 10 according to another embodiment, a single vertical format LCDmay be provided and its display area may be divided into upper and lowerareas on which two game screens may be displayed, respectively.Alternatively, a single horizontal format LCD may be provided and itsdisplay area may be divided into left and right areas on which two gamescreens may be displayed, respectively.

Although the present invention has been described and illustrated indetail, it should be clearly understood that the description is by wayof illustration and example only and that the invention is not limitedthereto. The sprit and scope of the present invention are limited onlyby the terms of the appended claims.

What is claimed is:
 1. A non-transitory computer-readable storage mediumstoring a program that displays on a display an object to be generatedand moved according to an input from an input device, wherein theprogram, upon execution by a computer system, provides operationcomprising: detecting coordinates inputted from the input device;determining whether a condition is satisfied based on detection resultsobtained in said detecting; determining, as object generationcoordinates, coordinates detected in said detecting when said conditionis determined to be satisfied; generating the object at said determinedobject generation coordinates; and controlling a movement of the objectbased on continuous detection results obtained in said detecting aftersaid object generation coordinates are determined; wherein the movementof the object continues even after coordinates are no longer detected insaid detecting.
 2. A non-transitory computer-readable storage medium asin claim 1, wherein said determining whether the condition is satisfiedis based on continuous detection results obtained in said detecting,wherein the condition is that, in a state in which continuous detectioncontinues, a changing amount in detected coordinates is less or greaterthan a threshold value.
 3. A non-transitory computer-readable storagemedium as in claim 2, wherein the condition is that the changing amountin the detected coordinates is less than the threshold value so thatmovement speed of input coordinates is lower than a threshold speed. 4.A non-transitory computer-readable storage medium as in claim 2, whereinthe condition is that the changing amount in detected coordinates isgreater than the threshold value so that movement speed of inputcoordinates is higher than a threshold speed.
 5. A non-transitorycomputer-readable storage medium as in claim 1, wherein said determiningwhether the condition is satisfied is based on continuous detectionresults obtained in said detecting, wherein the condition is that, in astate in which continuous detection continues, the detected coordinatesdo not change for a predetermined time period.
 6. A non-transitorycomputer-readable storage medium as in claim 1 further comprising:determining whether another condition is satisfied based on detectionresults obtained after satisfaction of the condition is determined; andstarting movement of the object when the another condition is determinedto be satisfied.
 7. A non-transitory computer-readable storage medium asin claim 6, wherein the another condition is that the detection results,obtained after satisfaction of the condition is determined, indicate atransition to a touch-off state.
 8. A non-transitory computer-readablestorage medium as in claim 6, wherein the another condition is that achanging amount in continuously detected coordinates of the detectionresults, obtained after the satisfaction of the condition is determined,is less or greater than a threshold value.
 9. A non-transitorycomputer-readable storage medium as in claim 6, wherein the anothercondition is that continuously detected coordinates of the detectionresults, obtained after the satisfaction of the condition is determined,do not change for a predetermined time period.
 10. A non-transitorycomputer-readable storage medium as in claim 6, wherein the anothercondition is that detected coordinates of the detection results,obtained after the satisfaction of the condition is determined, have atleast a predetermined distance from the detected coordinates when thecondition is satisfied.
 11. A non-transitory computer-readable storagemedium as in claim 6, wherein the another condition is that continuouslydetected coordinates of the detection results, obtained after thesatisfaction of the condition is determined, are in a predetermineddirection.
 12. A non-transitory computer-readable storage medium as inclaim 1 wherein the operation further comprises eliminating thegenerated object when the detected coordinates are outside of a regionprovided with respect to said object generation coordinates.
 13. Amethod for displaying on a display an object to be generated and movedaccording to an input from an input device, the method comprising:detecting coordinates inputted from the input device; determiningwhether a condition is satisfied based on detection results obtained insaid detecting; determining, as object generation coordinates,coordinates detected in said detecting when said condition is determinedto be satisfied; generating the object at said determined objectgeneration coordinates; and controlling, using a computer system havingat least one computer processor, a movement of the object based oncontinuous detection results obtained in said detecting after saidobject generation coordinates are determined; wherein the movement ofthe object continues even after coordinates are no longer detected insaid detecting.
 14. The method as in claim 13, wherein said determiningwhether the condition is satisfied is based on continuous detectionresults obtained in said detecting, wherein the condition is that, in astate in which continuous detection continues, a changing amount indetected coordinates is less or greater than a threshold value.
 15. Themethod as in claim 14, wherein the condition is that the changing amountin the detected coordinates is less than the threshold value so thatmovement speed of input coordinates is lower than a threshold speed. 16.The method as in claim 14, wherein the condition is that the changingamount in the detected coordinates is greater than the threshold valueso that movement speed of input coordinates is higher than a thresholdspeed.
 17. The method as in claim 13, wherein said determining whetherthe condition is satisfied is based on continuous detection resultsobtained in said detecting, wherein the condition is that, in a state inwhich continuous detection continues, the detected coordinates do notchange for a predetermined time period.
 18. The method as in claim 13,further comprising: determining whether another condition is satisfiedbased on detection results obtained after satisfaction of the conditionis determined; and starting movement of the object when the anothercondition is determined to be satisfied.
 19. The method as in claim 18,wherein the another condition is that the detection results, obtainedafter satisfaction of the condition is determined, indicate a transitionto a touch-off state.
 20. The method as in claim 18, wherein the anothercondition is that a changing amount in continuously detected coordinatesof the detection results, obtained after the satisfaction of thecondition is determined, is less or greater than a threshold value. 21.The method as in claim 18, wherein the another condition is thatcontinuously detected coordinates of the detection results, obtainedafter the satisfaction of the condition is determined, do not change fora predetermined time period.
 22. The method as in claim 18, wherein theanother condition is that detected coordinates of the detection results,obtained after the satisfaction of the condition is determined, have atleast a predetermined distance from the detected coordinates when thecondition is satisfied.
 23. The method as in claim 18, wherein theanother condition is that continuously detected coordinates of thedetection results, obtained after the satisfaction of the condition isdetermined, are in a predetermined direction.
 24. The method as in claim13, wherein the method further comprises eliminating the generatedobject when the detected coordinates are outside of a region providedwith respect to said object generation coordinates.
 25. A system fordisplaying on a display an object, the system comprising: an inputdevice configured to detect coordinates; and a processing system, havingat least one computer processor, the processing system being configuredto: determine whether a condition is satisfied based on detectionresults obtained in a detection by the input device; determine, asobject generation coordinates, coordinates detected in the detection bythe input device when said condition is determined to be satisfied;generate the object at said determined object generation coordinates;and control movement of the object based on continuous detection resultsobtained in the detection by the input device after said objectgeneration coordinates are determined; wherein the movement of theobject continues even after coordinates are no longer detected.
 26. Thesystem as in claim 25, wherein the processing system is configured todetermine whether the condition is satisfied based on continuousdetection results obtained in the detection by the input device, whereinthe condition is that, in a state in which continuous detectioncontinues, a changing amount in detected coordinates is less or greaterthan a threshold value.
 27. The system as in claim 26, wherein thecondition is that the changing amount in the detected coordinates isless than the threshold value so that movement speed of inputcoordinates is lower than a threshold speed.
 28. The system as in claim26, wherein the condition is that the changing amount in the detectedcoordinates is greater than the threshold value so that movement speedof input coordinates is higher than a threshold speed.
 29. The system asin claim 25, wherein the processing system is configured to determinewhether said condition is satisfied based on continuous detectionresults obtained in a detection by the input device, wherein thecondition is that, in a state in which continuous detection continues,the detected coordinates do not change for a predetermined time period.30. The system as in claim 25, wherein the processing system is furtherconfigured to: determine whether another condition is satisfied based ondetection results obtained after satisfaction of the condition isdetermined; and start movement of the object when the another conditionis determined to be satisfied.
 31. The system as in claim 30, whereinthe another condition is that the detection results, obtained aftersatisfaction of the condition is determined, indicate a transition to atouch-off state.
 32. The system as in claim 30, wherein the anothercondition is that a changing amount in continuously detected coordinatesof the detection results, obtained after the satisfaction of thecondition is determined, is less or greater than a threshold value. 33.The system as in claim 30, wherein the another condition is thatcontinuously detected coordinates of the detection results, obtainedafter the satisfaction of the condition is determined, do not change fora predetermined time period.
 34. The system as in claim 30, wherein theanother condition is that detected coordinates of the detection results,obtained after the satisfaction of the condition is determined, have atleast a predetermined distance from the detected coordinates when thecondition is satisfied.
 35. The system as in claim 30, wherein theanother condition is that continuously detected coordinates of thedetection results, obtained after the satisfaction of the condition isdetermined, are in a predetermined direction.
 36. The system as in claim25, wherein the processing system is further configured to eliminate thegenerated object when the detected coordinates are outside of a regionprovided with respect to said object generation coordinates.
 37. Aapparatus for displaying on a display an object to be generated andmoved according to an input from an input device, the apparatuscomprising: a detector configured to detect inputted coordinates fromthe input device; a determining unit configured to determine whether acondition is satisfied based on detection results obtained from adetection by the detector; a determining unit configured to determine,as object generation coordinates, coordinates detected in said detectionwhen said condition is determined to be satisfied; a generatorconfigured to generate the object at said determined object generationcoordinates; and a controller configured to control a movement of theobject based on continuous detection results obtained from the detectionby the detector after said object generation coordinates are determinedwherein the movement of the object continues even after coordinates areno longer detected.
 38. The apparatus as in claim 37, wherein thedetermining unit is configured to determine whether the condition issatisfied based on continuous detection results obtained from adetection by the detector, wherein the condition is that, in a state inwhich continuous detection continues, a changing amount in detectedcoordinates is less or greater than a threshold value.
 39. The apparatusas in claim 38, wherein the condition is that the changing amount indetected coordinates is less than the threshold value so that movementspeed of input coordinates is lower than a threshold speed.
 40. Theapparatus as in claim 38, wherein the condition is that the changingamount in detected coordinates is greater than the threshold value sothat movement speed of input coordinates is higher than a thresholdspeed.
 41. The apparatus as in claim 37, wherein the determining unit isconfigured to determine whether the condition is satisfied based oncontinuous detection results obtained from detection by the detector,wherein the condition is that, in a state in which continuous detectioncontinues, the detected coordinates do not change for a predeterminedtime period.
 42. The apparatus as in claim 37, further comprising: adetermining unit configured to determine whether another condition issatisfied based on detection results obtained after satisfaction of thecondition is determined; wherein the controller is configured to startmovement of the object when the another condition is determined to besatisfied.
 43. The apparatus as in claim 42, wherein the anothercondition is that the detection results, obtained after satisfaction ofthe condition is determined, indicate a transition to a touch-off state.44. The apparatus as in claim 42, wherein the another condition is thata changing amount in continuously detected coordinates of the detectionresults, obtained after the satisfaction of the condition is determined,is less or greater than a threshold value.
 45. The apparatus as in claim42, wherein the another condition is that continuously detectedcoordinates of the detection results, obtained after the satisfaction ofthe condition is determined, do not change for a predetermined timeperiod.
 46. The apparatus as in claim 42, wherein the another conditionis that detected coordinates of the detection results, obtained afterthe satisfaction of the condition is determined, have at least apredetermined distance from the detected coordinates when the conditionis satisfied.
 47. The apparatus as in claim 42, wherein the anothercondition is that continuously detected coordinates of the detectionresults, obtained after the satisfaction of the condition is determined,are in a predetermined direction.
 48. The apparatus as in claim 37,wherein the generated object is eliminated when the detected coordinatesare outside of a region provided with respect to said object generationcoordinates.
 49. A non-transitory computer-readable storage mediumstoring a program that displays on a display an object to be generatedand moved according to an input from an input device, wherein theprogram, upon execution by a computer system, provides operationcomprising: detecting a transition of a touch-off state to a touch-onstate on the input device at an initial touch input point without yetdisplaying the object; detecting continuous touch inputs on the inputdevice after detecting the touch-on state on the input device at theinitial touch input point; determining when the detected continuoustouch inputs satisfy a condition; initially displaying the object at aposition of one of the detected continuous touch inputs satisfying thecondition; detecting additional touch inputs on the input device afterinitially displaying the object; and controlling movement of thedisplayed object at least from its initially displayed position based onthe detected additional touch inputs.
 50. A non-transitorycomputer-readable storage medium as in claim 49 wherein the conditionrelates to movement speed of the detected continuous touch inputs orstoppage of movement of the detected continuous touch inputs.
 51. Thenon-transitory computer-readable storage medium of claim 49, wherein themovement of the displayed object continuously moves after a touch-offstate is detected after said detecting of the continuous touch inputs.52. A method for displaying on a display an object to be generated andmoved according to an input from an input device, the method comprising:detecting a transition of a touch-off state to a touch-on state on theinput device at an initial touch input point without yet displaying theobject; detecting continuous touch inputs on the input device afterdetecting the touch-on state on the input device at the initial touchinput point; determining when the detected continuous touch inputssatisfy a condition; initially displaying the object at a position ofone of the detected continuous touch inputs satisfying the condition;detecting additional touch inputs on the input device after initiallydisplaying the object; and controlling movement of the displayed objectat least from its initially displayed position based on the detectedadditional touch inputs.
 53. A method in claim 52 wherein the conditionrelates to movement speed of the detected continuous touch inputs orstoppage of movement of the detected continuous touch inputs.
 54. Themethod in claim 52, wherein the movement of the displayed objectcontinuously moves after a touch-off state is detected after saiddetecting of the continuous touch inputs.
 55. A system for displaying ona display an object, the system comprising: an input device configuredto detect coordinates; a processing system, having at least one computerprocessor, the processing system being configured to: detect atransition of a touch-off state to a touch-on state on the input deviceat an initial touch input point without yet displaying the object;detect continuous touch inputs on the input device after detecting thetouch-on state on the input device at the initial touch input point;determine when the detected continuous touch inputs satisfy a condition;initially display the object at a position of one of the detectedcontinuous touch inputs satisfying the condition; detect additionaltouch inputs on the input device after initially displaying the object;and control movement of the displayed object at least from its initiallydisplayed position based on the detected additional touch inputs.
 56. Asystem in claim 55 wherein the condition relates to movement speed ofthe detected continuous touch inputs or stoppage of movement of thedetected continuous touch inputs.
 57. The system in claim 55, whereinthe processing system is configured to control movement of the displayedobject so that the displayed object continuously moves after a touch-offstate is detected after the continuous touch inputs are detected.
 58. Anapparatus for displaying on a display an object to be generated andmoved according to an input from an input device, the apparatuscomprising: a detecting unit configured to detect a transition of atouch-off state to a touch-on state on the input device at an initialtouch input point without yet displaying the object; a detecting unitconfigured to detect continuous touch inputs on the input device afterdetecting the touch-on state on the input device at the initial touchinput point; a determining unit configured to determine when thedetected continuous touch inputs satisfy a condition; a displaying unitconfigure to initially display the object at a position of one of thedetected continuous touch inputs satisfying the condition; a detectingunit configured to detect additional touch inputs on the input deviceafter initially displaying the object; and a controller configured tocontrol movement of the displayed object at least from its initiallydisplayed position based on the detected additional touch inputs.
 59. Anapparatus in claim 58 wherein the condition relates to movement speed ofthe detected continuous touch inputs or stoppage of movement of thedetected continuous touch inputs.
 60. The apparatus in claim 58, whereinthe controller is configured to control movement of the displayed objectso that the displayed object continuously moves after a touch-off stateis detected after the continuous touch inputs are detected.